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?