Wednesday, July 22, 2009

Windows Update owns my machine

The other day, my Windows Vista system got messed up. Really messed up. Let me tell you how:

During the day, I got one of those little "system tray" messages from Windows, telling me that updates were available for my system. Normally, I apply Windows updates only when I'll be away from my office for several hours, like for those mid-afternoon strategy meetings. That way, Windows can apply the update, and I don't have to wait for it. But since others have reassured me that I can install updates while using the Windows system, this time I went ahead and let Windows Update do its thing. I happily continued working.

After Windows Update was done, I got another message advising me to reboot so the changes could take effect. I figured this was just Windows covering for itself, especially since Evan claimed that "patches you'll get from Windows update don't require rebooting". So I dismissed the alert, and went back to work.

The day rolls by, and eventually it's 6:00 PM. My wife was there to pick me up so we could go out to dinner. As usual, I worked right up until it was time to go, then shut down my laptop.

I was dismayed to see that Windows meant it, and really did need to reboot for those changes to take effect. Except Windows wanted to install a bunch more updates before it would let me shut down. No option to skip this step, no option to do it later. Windows Update wanted to install these patches right then, so it effectively owned my machine.

The patches installed at a rate of about 2% per minute. I thought, "I can't wait for this - my wife is downstairs right now, it's time to go, I can't wait almost an hour for this thing to finish." And I didn't have an option to close my office and leave it, since we've had thefts inside the building. So I did the unthinkable, and unplugged the power. (I rarely keep the battery in the laptop when it's plugged into the dock - otherwise, the system gets really hot.)

The next morning, my laptop won't reboot. Got to the graphical boot screen, then powered off.

Our desktop support folks couldn't do anything with it. When I told them my story about what happened (at least I'm honest) they realized it would be easier to re-install the machine with a fresh image of Windows Vista.

So thank you, Microsoft. Your "awesome" Windows Update process needs some work. Why is System Update not really done installing patches until you shut down? This doesn't make sense to me. It should have installed those other patches while the system was up, then let them take effect after reboot. I'm most shocked that System Update had to "own" my machine when I was trying to shut down.

And that claim that Windows doesn't need to reboot for changes to take effect? Total lie.

In stark contrast, when I ran Linux at work, I could install updates while using the system. If the system update tool wanted to reboot afterward, it was usually because I'd received a kernel update, and you do need to reboot for the new kernel to take effect. But on Linux, you can keep using the old kernel until you're ready to shutdown/reboot. And I always had the option to shutdown or reboot later, when I was ready to.

And in Linux, when you reboot or shutdown, you actually reboot or shutdown. None of this "let me install a few updates before you really get to shut down your system." Reboot means "reboot", and shutdown means "shutdown".

I guess I got spoiled for how cleanly Linux systems apply updates. Microsoft sure could take a lesson from that.

26 comments:

  1. I recently had to abort a system update under Linux, and nothing broke. Started the update on my laptop, then realized my battery was about to go flat.

    Rather than dig out my power brick (this was the last thing I was going to do on the laptop, then go do something else) I just shut down the laptop.

    When I booted the laptop later (with AC power) I just ran 'yum-complete-transaction' and everything picked up where it left off. This was Fedora 11.

    I think generally this is true for any Linux that uses RPM, because iirc transactions (updates, etc.) are designed to be atomic. I don't know the equivalent command for systems that use APT, but I'd bet APT can do this too.

    ReplyDelete
  2. especially since Evan claimed that "patches you'll get from Windows update don't require rebooting"

    The original quote -- from the very page that you yourself link -- was "even occasional patches you'll get from Windows update don't require rebooting" (emphasis mine). I feel that leaving off the word "occasional" from where you quote me is being extremely disingenous, especially when you later call me a liar ("And that claim that Windows doesn't need to reboot for changes to take effect? Total lie.").

    ReplyDelete
  3. With APT, an update is just downloading and installing packages. You can abort it with nothing bad happening. You might have to clean up the broken dependencies before you resume sometimes though, but that's easy enough to do in a couple of seconds.

    ReplyDelete
  4. I've never had anything like this happen in Linux. Stuff like this happens all the time in Windows.

    But its OK, Windows is the Market Leader and everything.

    ReplyDelete
  5. I have had something like that happen to me on my linux box (Ubuntu, 8.04 to 9.04). WHenever firefox is updated it must be restarted (granted it's not a full reboot) and it seldom remembers my tabs. It's very annoying. But this isn't nearly as bad as the tedious Windows Update process. I have only been using Ubuntu a couple of months and already every time I have to deal with a Windows machine it's painful to me...

    ReplyDelete
  6. It's been so long since I've had to deal with Microsoft's Silliness that I tend to forget other less fortunate souls who, through no fault of their own, are forced to endure the indignities you describe in your posts. Here's hoping for a better day.

    ReplyDelete
  7. evaned,

    That's not how I interpreted your other comment. I assumed you meant "the updates from Windows are occasional". Hence, leaving off the word "occasional" in my post seemed ok.

    ReplyDelete
  8. Generally, I'm disappointed in how far Windows is behind the times.

    Look at MacOSX. Look at Linux. Look at any other UNIX. When these systems install patches/updates, it's rare that you need to reboot for them to take effect (this is the case when you install a kernel update, or anything that's very close to the operating system.) But most of the time, install patches, and continue working.

    In these other systems, even when you install a patch that requires a reboot to take effect, you can reboot whenever you like. And if you (like me) just shut down, then the system just shuts down. None of this "hang on while I install a bunch of updates you thought were finished."

    ReplyDelete
  9. So I guess my original comment was ambiguous, because I thought of yet a third way it could be interpreted ("occasionally it's okay to ignore Windows's request to reboot"). Regardless, I meant it to say that "not even all Windows Update patches require a reboot; occasionally you'll run into one that doesn't."

    ReplyDelete
  10. the dangers of not being clear ...

    ReplyDelete
  11. @evaned
    and you don't tell which is need a reboot and which is not? cuz on my own experience, almost all need a reboot when it came to patches. but maybe it's just me

    ReplyDelete
  12. Part of the reason I never went to Vista, just stuck with XP. XP occasionally will ask to reboot after a reboot.

    But again, pretty soon now MS will stop issuing packs for XP. But then what I'm hearing is that the business world for the most part will skip Windows 7 too. I hope it kills Microsoft dead.

    ReplyDelete
  13. I run Linux on my personal / work laptop. However, I have to run a Windows domain at work. On this domain, if a new update comes through to my software update server, I have it configured to automatically approve if it's listed as critical (this has burned me once, but that's a side story), and it forces the client stations to reboot about five minutes after first logging in, without the choice of deferring it til later (which cheeses my users off to no end, but security in the Windows world has its prices).

    This is an excellent illustration of why I do not give my users the choice. And my computers are all XP, even.

    ReplyDelete
  14. Mrs Linux in ExileJuly 24, 2009 at 9:06 AM

    All of this just emphasizes the fact that Windows is poorly designed. Calling a flaw a "feature" or justifying stupidity by saying "all our other users manage to put up with this, why can't you?" is poor business practice. This is why I haven't used Windows for nine years, and I have never once missed it. And in all that time, I've never once bricked my Linux box...

    ReplyDelete
  15. i'm wow'd by the fact taht windows update isn't done installing updates, even after installing updates.

    i think that's why i like this blog. points out what should be obvious, but we're so stuck in how windows "always works this way" that we don't realize how dumb it can be.

    ReplyDelete
  16. @Anonymous:

    You can tell it needs a reboot if it asks for one. Pretty simple. (I will often not reboot right away, but usually do relatively soon after installing, like that night or so. I haven't pulled the plug on one though.)

    You say that "almost all" need a reboot in your experience, but that's basically the same thing I said -- if almost all require a reboot, that means that occasionally you'll get one that doesn't. ;-)

    ReplyDelete
  17. Evan, but have you ever had it tell you it's installing more updates while it's doing a shutdown, even though you just installed updates and you're shutting down only because it said it had to reboot? Ever have updates take 35 minutes while you're in the middle of a conference call, while it downloaded and installed crazy stuff during that selfsame shutdown process which you felt strongarmed into obliging before the conference call started in hopes that you wouldn't screw the web presentation up while pressing "later" over and over?

    Because I think that was Anonymous' main point. This is bad design.

    ReplyDelete
  18. I ' ve had the same thing thing happen once while updating the linux kernel. When staring up the system did crash but in the startup menu I had the option of booting with the old kernel. That way I could log in and fix everything.

    ReplyDelete
  19. I really like the comment "Windows update isn't done installing updates, even after installing updates." I think that sums up the issue quite nicely.
    :-)

    ReplyDelete
  20. I'm so angry! I told Windows to schedule a disk check on the next boot. Then after I reboot it starts checking the drive. What the hell?! Microsoft just took control of my computer. I actually have to wait for it to finish before I use my computer. Unbelievable. I'm glad I use Linux, which is so superior that I never have to wait to do something, ever.

    Bummer about the updates problem you are having. They tell you Windows doesn't have to reboot after an update, and you are right. It is a total lie. It turns out that SOME updates require a reboot and some do not. I'm not an English major, but I'm pretty sure "some" means that I might have to reboot the computer after an update. I never have to reboot Linux after an update except when it tells me to do it. Granted, sometimes after I reboot after a kernel update I find my screen is messed up because the graphics driver is gone. No big deal, I just re-install it. It helps make sure I keep up to date anyway. Again, superior design working for the benefit of the user, rather than against it. I actually read an article from a paid M$ shill that said reboots are a good practice to ensure there are no surprises should the machine have to be rebooted for any reason, but you know all those M$ guys are idiots anyways. Look at this garbage he wrote:

    http://technet.microsoft.com/en-us/magazine/2008.11.windowsconfidential.aspx

    Dude, I'm not sure why you even use Winblows at all. I only use it once a week for about 10 minutes so I can remind myself how truly awesome Linux is and enjoy knowing that I made an intelligent decision when I decided to dump the immoral crapware that is Microsoft.

    ReplyDelete
  21. @Jason:

    (I realized after typing the below that I think you might have misunderstood which Anon I was replying to. I was responding to the one who posted at 8:53 PM and replied to me, not the one I was right below. If this isn't the case, continue reading.)

    No, I haven't had those things happen, but I also run with a slightly weird setup. (I have it automatically download updates but not install, and occasionally I'll shut down the computer when going to bed or something and let it install as it's shutting down.)

    Also, on the occasions where I get the "now or later" dialog because I install something that makes it want to restart but I don't want to, I just turn off the windows update service or whatever, and it goes away.

    I don't dispute that the update thing is somewhat broken; I'm just defending what I said before about not ALL updates require a reboot.

    ReplyDelete
  22. @Pumaman

    I wasn't originally going to reply to you, but I changed my mind.

    Are you being sarcastic (or trolling)? If you aren't... I'm not sure what to say other than "you're an idiot and your post is one of the least-grounded rants I've seen in a while.

    If you are... about what? There's basically no way that you can find what happend to JH as being even remotely defensable. Even ignoring the whole "it needs to install after it says it's installed" thing (which I can't speak to as I haven't seen that problem, perhaps because I have Windows Update set up differently than JH likely does). There's still basically no reason that losing power like that should cause any sort of catastrophic problems like what JH related. MS even has transactional NTFS and a transactional registry with Vista -- why aren't/can't they make use of it for Windows Update? (Incidentally, a transactional file system is a *really* cool idea and I wish that it would be adopted by Linux and other systems so that I could rely on it. 'course, too many Linux people are stuck in 1970 to see why file systems could be much nicer than they are.) What happens if the power goes out on a desktop? What happens if someone kicks a cord out of the wall? There's no justifiable reason that these should cause problems anywhere near this caliber.

    ReplyDelete
  23. Evan: you're absolutely right, I mistook which Anonymous you were replying to. Numbers on comments, and @## in replies, might help alleviate this... or maybe I could just assume people don't necessarily always reply to the last message in the thread.

    Pumaman: blatantly sarcastic troll is blatantly sarcastic. Nobody has an unreasonable expectation here. The update process sometimes overwrites system files that, to be fair, should be unloaded from memory before they are overwritten under the Windows architecture. The difference in the Linux architecture is that files are not "locked" by being opened, and can be overwritten (and the "in-memory" library or executable moved elsewhere until safe to delete). This makes it theoretically possible to overwrite the Linux kernel without having to send the computer into a shutdown, and install the updates in what amounts to single-process mode while waiting for the computer to shut down properly. In fact, due to the nature of Linux's architecture, a program like Ksplice is possible, which allows you to switch kernels on-the-fly without a reboot. It's experimental yet, but with work could be so polished that "never has to be rebooted" could include every single update imaginable, including kernels. Beyond that, even in the event of a power outage, I would wager on APT vs Windows Update to be able to handle the event gracefully.

    The problem most of us here seem to have with Microsoft is not that we are forewarned that there will be wait time, and corner ourselves into waiting when we should be smart and not do so. The problem is the update structure is such a dogpile that even with accurate descriptions of what's going on, how long it'll take, and the option to back out gracefully without completely hosing your OS. And some resiliency against said hosing would be nice as well.

    ReplyDelete
  24. Incomplete sentence. Let's try again. The problem is the update structure is such a dogpile that even with accurate descriptions of what's going on, how long it'll take, and the option to back out gracefully without completely hosing your OS, even with all of this, you'll still have the problem of having to install some updates during the shutdown or reboot process when you thought all the updates were actually done installing in the multi-user mode, and this assumption turns out to be absolutely false.

    ReplyDelete
  25. Though no one has posted here for 6 months, I simply HAVE to add this "Windows owns my computer" nightmare story to the mix:

    On more than one occasion I have had to shut down a laptop system quickly to avoid a system crash due to overheating (the bane of laptops everywhere).

    Imagine my state of mind when, instead of allowing me to shut down and spare the machine from a bad crash, Microsoft insisted on installing a bunch of updates to my badly-overheated drive!

    This happened often enough that I finally stopped installing updates altogether, because the potential problem of lacking some "critical" update was much less than the REAL problem of being unable to shut down my system in a controlled manner when threatened with a catastrophic crash.

    Unbelievable! Thanks, Microsoft.

    ReplyDelete
  26. evaned said...

    especially since Evan claimed that "patches you'll get from Windows update don't require rebooting"

    The original quote -- from the very page that you yourself link -- was "even occasional patches you'll get from Windows update don't require rebooting" (emphasis mine). I feel that leaving off the word "occasional" from where you quote me is being extremely disingenous, especially when you later call me a liar ("And that claim that Windows doesn't need to reboot for changes to take effect? Total lie.").

    ===========================

    Shut up evaned. You ARE a liar. If Windows doesn't need to reboot once every blue-moon update why would you even mention that at all other than to confuse someone into thinking that they won't have to reboot. Just tell them that they'll likely have to reboot the $#^%@ thing or don't open your useless mouth at all!

    ReplyDelete

Note: Only a member of this blog may post a comment.

Followers