Windows 7 Declares War on GRUB

Windows 7 Declares War on GRUB

Summary: Let me just say as a preface to this rant that I am not absolutely certain what the problem is here, but I have some pretty strong evidence, based on what my laptop is doing, and some pretty strong suspicions, based on how much I despise Windows. Having said that, here are the facts, you can draw your own conclusions.


Let me just say as a preface to this rant that I am not absolutely certain what the problem is here, but I have some pretty strong evidence, based on what my laptop is doing, and some pretty strong suspicions, based on how much I despise Windows. Having said that, here are the facts, you can draw your own conclusions.

In preparing for a training class next week, I have acquired a quite nice new HP Pavilion dm1-3105ez sub-notebook. I need to have one system running Windows (XP/Vista/7) and one running some version(s) of Linux. This new HP came with Windows 7 Home Premium, so that should fit the bill nicely. I unpacked it and booted up, went through the normal Windows first-start blathering, removed all the Symantec trashware that was pre-installed, and it seemed to be running reasonably well.

I then installed openSuSE 11.4 to multi-boot with Windows, and configured GRUB (Legacy) to control the boot process. So far, everything was hunky-dory. I could boot Windows or openSuSE, both worked fine, and I worked with each of them for a while, preparing the software that I needed for the course. At one point when I was going to shut down Windows it informed me that it had updates to install. Ok, I went and looked, and there were 50 or so updates already downloaded and ready to install. I let it do the installation, then rebooted "to finish the Windows update installation". Except, it wouldn't boot. Something that Windows Update had done had scribbled on the Master Boot Record (MBR), and it just kept cycling through the HP splash screen. Sigh. There were no complaints from Windows Update, of course, nothing that it said "failed", and no warnings about modifying the MBR. But it obviously did so, and now it wouldn't boot. Grrrr.

Ok, so I booted the openSuSE Live USB stick again, repaired GRUB, booted openSuSE from the hard drive, and all was well. I then booted Windows 7 again, and it went through "Installing Updates Phase 3...". Several minutes of that, then it was finally done and Windows was running again as well. What a pain, but at least it was working again. I thought...

Windows then informed me that it had another "Important Update" to install, so I let it do that, rebooted, and it seemed ok. But of course, this being Windows we have to stick to the absolute, inviolable Microsoft philosophy - "Why do it simple when you can do it complicated?". Shortly after rebooting from that update installation, it informed me that it had even more "Important Updates" to install, including Windows 7 SP1. Sigh. So I let it do that... of course, it slogged around for an hour or so downloading and trying to install the update(s), before it finally informed me that the installation had failed, please reboot.

Here we go again... I tried to reboot, and Windows Update had scribbled on the MBR again. ARRRGGGGHHHH! Boot openSuSE Live USB, repair GRUB, boot openSuSE from disk, all is well. Boot Windows, it thrashes around in "Phase 3" for a while again, then seems to be ok, but when I tried to reboot after that, GRUB was corrupted again. ARRRGGGHHH! At this point I was ready to just give up, go to the class next week and tell them that I am not interested in training on a stupid, broken, unreliable, uncooperative tinker-toy operating system. But I am too stubborn for that, I'm afraid. So now I am doing a "factory restore" on the dm1, and then I will go through all of the Windows Update installations before installing Linux and GRUB on it. If it still fails after that, I will print out the quote above and hand it to the instructor on Monday. Sigh.

So, there you have it. What's going on? Has Microsoft simply decided that they won't tolerate GRUB, or anything other than their own crummy bootloader? Or are they just so stupid and narrow-sighted that they don't care, and don't bother checking before they start scribbling on the disk in the place where they assume their bootloader should be? Or are they so incompetent that this is all just another ridiculous Microsoft "bug", and if I sit tight and wait for the next "patch Tuesday" or whatever, it might go away?


jw 6/5/2011

Topic: Linux

J.A. Watson

About J.A. Watson

I started working with what we called "analog computers" in aircraft maintenance with the United States Air Force in 1970. After finishing military service and returning to university, I was introduced to microprocessors and machine language programming on Intel 4040 processors. After that I also worked on, operated and programmed Digital Equipment Corporation PDP-8, PDP-11 (/45 and /70) and VAX minicomputers. I was involved with the first wave of Unix-based microcomputers, in the early '80s. I have been working in software development, operation, installation and support since then.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • I feel your pain and decided to backup mint and do the windows updates and reinstall
    Aj Rogers
  • I doubt very much if MS give a damn about anything else but Windows. I don't think they'd deliberately set out to trash grub, they just do whatever suits them without any consideration for the consequences.

    Interesting thought ... If you installed Win7 as a dual boot on a machine that previously only had Linux, and it wrecked your Linux installation, would you have a case for claiming damages from MS in a civil action?
  • @AndyPagin - I agree, it is very doubtful that this is deliberately aimed at GRUB, the most likely explanation is that they are doing what they want to what they consider to be the "correct" configuration, without paying any attention to what the real configuration is, and without the slightest concern about the possible consequences for the user. In fact I have seen something very similar happen once before, with Vista. In that case at least Windows Update seemed to check and reported "Update Failed" if GRUB was installed in the MBR, without scribbling on it. Interesting thought about possibly suing them...

    @fluffymonkey - Oh yeah, you're probably right, why didn't I think of that? If it isn't happening to you, then it is certainly not a problem for anyone else! Never mind that it ONLY happens when I boot Win7, as I said in the post; never mind that I have multiple copies of Linux in other partitions, and it NEVER happens when I boot any of them, as I said in the post; never mind that I had the multi-boot configured and I booted into Windows numerous times without problem before Windows Update ran, as I mentioned in the post; Yes indeed, it almost certainly is the "hard drive drivers" causing this problem, and as long as I keep the system configured with Windows only, and don't try to pollute it with Linux, those nasty little driver rascals will keep quiet and not corrupt the MBR. Great thinking, thanks for the help! Oh, and by the way, I would appreciate it if you would keep the profanity out of comments to my blog in the future.

    Thanks for reading and commenting.

  • Ignoring your hysterical headline (unless you can actually prove what you claim, which would surprise me), there seem to have been problems with GRUB and Windows for some time. Don't know if this, for example, helps (it's from 2008)
    but I usually find it's better to Google these things beforehand. It saves a lot of pain in the long run.

    Otherwise, it's obviously sensible when starting a new Windows machine to go to Windows Update and make sure you have all the updates installed, as well as all the crapware removed, so you can do a backup and avoid the misery of having to do the whole thing again. I really can't imagine why anyone would start installing openSuSE before doing that.
    Jack Schofield
  • While I think that it's VERY convenient that the windows 7 BCD clobbers any other bootloader you have on your system (windows is very jealous of it's users) i don't think that this is as much against linux as it is against the TDSS virus. The TDSS virus modifies the bootloader and loads it's code on boot from a hidden partition on the hard drive. While there are a few tools that can remove it, detecting a problem with the bootloader and replacing it with a clean copy is really the best fix. Updates are meant to keep up with threats like this and patch them as easily and cheaply as possible. I doubt if M$ cares if it's grub it's paving or a wonky evil virus. I Would suggest removing win7 all together and running just linux.
  • as a side note, you could probably solve this issue by installing a fantastic utility called easybcd. for some reason this replacement bootloader has never been replaced on my systems *knock on wood!*
  • I was able to get around this on another machine by simply creating serperate partitions and disabling the "LAN boot" in the bios.
  • @Jack,

    Perhaps you should have read the post at your link before gracing us with such a condescending response, Jack. It deals with a specific scenario: i.e., installing Windows *after* you've installed Linux or other operating systems. And yes, that is a well-known problem that is caused by Microsoft's overweening arrogance and/or incompetence.

    This is different, however. J. A. already had Windows (installed first) and Linux working side-by-side. Then a Windows Update seems to have cocked it all up for absolutely no reason whatsoever. It's bad enough that Microsoft disables other OS's when installing a new copy of Windows, but to such a thing for a mere update? What possible reason could they have to MBR under that circumstance?

    > it's obviously sensible when starting a new Windows machine to go to Windows
    > Update and make sure you have all the updates installed... [blah, blah]

    Totally irrelevant. Windows has no business messing about with the MBR during an update, full stop. And even if you had some kind of point here, Microsoft releases new "updates" to Windows every month. Are they allowed to screw up other OS's every month, too?

    In short, if you don't know what you're talking about - which you obviously don't in this case - you'd be best advised to keep quiet.
  • I wonder if I'm seeing consequences of what you're experiencing.
    I bought a really great--from a hardware standpoint--laptop at a really good price. Of course, Win7 Home Premium was installed. My intent was to make a dual-boot machine, since having Win7 might come in handy (like when my brainwashed-by-their-father grandchildren come over).
    I got a "free" DVD with a Linux magazine I bought, which had Mint 10 on it. Popped it in the DVD drive, answered all the questions, rebooted, and lo and behold, there's the dual-boot screen...which just happens to state at the very top "GNU GRUB BOOTLOADER v.1.98+..."
    Mint 10 will not load. I get trapped in an endless loop of being asked for my password. Tried changing password in the Terminal; that didn't work. What does work is that Windows boots up, when selected. So now I've got a Windows machine with half the disk space that I had when new (I can't figure out how,or even if I can use my "free" disk to undo or redo things).
    I KNEW that screwing around with Windows was a mistake. And oh, by the way, whenever I get a snoopgram from Microsoft asking if they can update my computer, I automatically jump for the "No; HELL no!" button.
    The only reason I figure most people stick with Microsoft is that they simply do not know or will not acknowledge that there's a better way.
    Warmest regards...
  • I know it's always tempting to call conspiracy over cockup, but I think this is a problem caused by the way Windows is handling the Boot Configuration Data (BCD) store, to do with what partitions have drive letters, what partitions are marked as active and what partitions are mounted; Windows needs to be able to write to the BCD for situations like Bitlocker-encrypted drives. If you're seeing an error code when the installation fails (there's usually one) that will tell you the exact problem; I have links to several not dissimilar issues with SP1 and GRUB (I'll pop them in a second comment in case it triggers the spam filter)
    Simon Bisson and Mary Branscombe
  • SP1 fails - from the Microsoft social site, rather like the old newsgroups - monitored by Microsoft:
    SP1 problems - from the Microsoft Answers site, a forum which I can't really distinguish from the social site ;-)
    SP1 and error 0x800f0a12 - from the blog of a Microsoft support engineer who specialises in servicing

    Simon Bisson and Mary Branscombe
  • incidentally, @BrownieBoy - it's always best to treat a Windows service pack as being very similar to an OS install; service packs service parts of the OS not touched except in service packs (pardon how circular that sounds - it helps to think of the OS state and the way OS installs and service packs affect it as state machines; monthly updates don't get to change as much). Unlike a monthly update, a service pack is very likely to need to work on the system partition, BCD and other boot-related settings. If the install doesn't complete it should be resetting things to where they were, but if it's not that sounds exactly like a bug to me - I'd suggest reporting it to the Windows team so they have an incentive to add the scenario to their test setups (if you have a commercial customer with a PSS account, that's going to be your most fruitful avenue for getting a fix rather than a vent).
    Simon Bisson and Mary Branscombe
  • I felt your pain recently myself,with my Xubuntu 10.10 being taken out by W7 Pro SP1 and IE9 update. I took the opportunity to do a rollback/recovery and start again with W7 and then installed Xubuntu 11.04 64 bit. It works great on my Acer laptop (1.4GHz + 4 Gb RAM). Even though I was able to fix Microsoft's mistake I think it is time that Microsoft started to realise that they do not have the right to wipe my installation with their sloppy practices, I only have M$ on this laptop because I can't get one without a M$ system pre-installed. I have 7 months till the warranty runs out and then it will be a "Linux only" laptop. If I have to pay the Microsoft tax they should at least ensure that I can use my machine as I need to. Upgrading Windows with a service pack is no excuse to fsck with my configuration.
  • Hmmm.
    Personally - I value my time very much - and that's why I don't bother with installing multiple OS'es anymore.
    I simply run my favorite Linux distro and then run ms shit in Virtual Box 4.0. this way OS'es are completely decoupled and image can be reused as many times as you want it.
    Simply make Windows full screen - nobody will know the difference, -any modern laptop has enough firepower so this would work without a hitch.
  • I was able to "work around" this problem (if you want to call it that), by reinstalling Windows 7 from scratch, which of course installed the Windows bootloader, and then letting it go through all of the updates before reinstalling Linux and GRUB. I have said this before, but I will say it again, loud and clear, the Windows Update process is the most stupid, mindless, idiotic, time-wasting bunch of garbage imaginable. Good God. Install Windows 7 from scratch, then it says there are 50 "Important" updates to install. That takes an hour or so. Reboot. Then it says there are six "Important" updates to install. That takes another 20 minutes. Reboot. Then it (FINALLY) says that Service Pack 1 is ready to install. That takes well over an hour, and Microsoft particularly distinguishes themselves by proving that they don't know how to count - the download status starts at 31% complete, but then doesn't move for 10 or 15 minutes while the actual download catches up to that, I suppose. The download status then moves in spastic jumps until it finally finishes, using a good half an hour to download about 60MB of data? I can guarantee that the computer and my internet connection can download that much data in a few seconds... Anyway, after an hour or more of bludering about, SP1 is done, then Reboot. Then it wants to install EVEN MORE updates?

    Congratulations Microsoft, the stupidity of your operating system is exceeded only by the unbelieveable stupidity of your update processing.

    • @J.A. Updates

      Windows updates have always been convoluted, slow, and piecemeal. I can't figure out why. One of the best things about most Linux distros is that they find (for example) 300-odd updates to applications, system, and kernel. When they have downloaded and installed, it's usually "Your updates have been installed." Only if there has been serious updating to the kernel itself has a reboot (or logon cycle) ever been required in my experience. Linux' ability to compartmentalize the kernel is its great strength.
      Iman Oldgeek
  • Oh, and a couple of other random comments/answers:

    - Why didn't I make a backup? Because as soon as the class I am attending next week is over, I will wipe the Windows garbage off of this computer, and bid it good riddance as usual.

    - Will I report this "bug" to Microsoft so that they can "improve" their product? Yeah, right, like that is going to produce a lot of results. I reported this bug to a dead tree stump in my back yard the other day, and I am quite certain that will produce absolutely the same result that trying to report it to Microsoft would produce, and with a lot less grief and aggravation in the process.

    @BrownieBoy - I would strongly recommend that you consider taking my approach to Schofield - I absolutely categorically ignore anything and everything he writes, whether it be blog posts or comments to other blogs, including my own. There is no content of any significance or value, and trying to engage in dialog is a waste of time.

  • Been there, done that. I have a Samsung netbook which comes with three primary partitions already occupied. One hidden system drive which also serves as the boot drive as far as I can tell, one Windows 7 drive and one hidden drive with the re-installation and repair programmes.

    So the first thing required is to shrink the C partition to make space for Windows XP and Linux Distros in an extended partition, time consuming but not a problem.

    However the pain came when I installed Linux and could not boot anything. I don't remember exactly how I recovered but but probably using 'Grub for Dos' to get into the system and then by setting up the boot sequence in Windows 7 using EasyBCD.

    The end result now is that the computer initialises with the Windows boot loader with three entries, Windows 7, Windows XP and Linux. Selecting Linux passes control to Grub(2) from where the various Linux Distros can be selected and booted. However, selecting Window takes me back to the Windows boot loader......

    I have subsequently experienced several hiccups when the Grub for Dos screen appears (!) but I have not since been locked out again. I cannot explain the logic of any of this as I do not select either the extended partition or the relevant Linux partition(s) for Gub(2).

    It's a puzzle, but so long as it works!

    I did get myself in a mess with Suse, which does not use Grub2, but that's another story.

    Some Windows 7 computers can repair the boot loader automatically. The same can be achieved from an installation disk, if you have one. If not a repair disk ISO can be downloaded free from Microsoft.
    The Former Moley
  • First of all, you think HP would provide you support if you loaded Linux on the laptop? Why not install your crappy Linux OS in a VM and use it from there? Anybody wasting time to partition and install it doesn't have a clue.
    Mr. Dee
  • @ Andre

    That would completely negate half of the advantages of actually using Linux, seeing as you then have to use the crappy host OS all the time, put up with its slow boot times, poor updating procedures and degradation over time. Secondly, I don't see how HP come into the equation at all, seeing as we are talking about a pure software issue here.

    I agree with the VM principle, but obviously JW would be better off using the Linux OS as host.