|
Every single time I try to upgrade the boot drive for my primary workstation, I pay dearly in lost time and aggravation. Perhaps I'm spoiled by my UNIX experience, but it shouldn't be this difficult to copy all of the data from one disk to another, make the new disk the boot disk, and return to business as usual.
OK, so I hook up my new drive to my spare SATA port on the motherboard. Then, I use Western Digital Data Lifeguard to painlessly partition, format, and copy all my data from the old C: drive to the new disk. During a reboot, I change the boot disk from the old one to the new one, and I'm back to work, right? Wrong. I think I have found every single way possible to screw up the upgrade. I like to have a FreeBSD (UNIX-ish) partition available on my drive so I can do serious work on days when I work from home due to weather or sick kids. Under Windows, I do my checkbook, email, photos, and videos, but when I'm programming and solving problems, I need UNIX! It shouldn't be a problem. FreeBSD has a handy little boot menu that goes into the Master Boot Record of the hard disk, and when the machine boots, I can hit F1 to boot Windows, or F2 to boot FreeBSD. So, after I first got Windows going on my new hard disk, I booted FreeBSD off my old hard disk and used my UNIX tools there to claim the rest of the new hard disk for FreeBSD, copy my files from the old FreeBSD partition to the new one, and install the boot menu on the new hard disk. After a reboot, nothing works -- I can't boot either the new Windows nor the new FreeBSD partitions. Crud. So, I booted Windows from the old hard disk and once again ran WD's Data Lifeguard program to recopy the Windows partition to the new disk. After rebooting, I still couldn't boot the new Windows drive. I tried booting into Windows Recovery Console from the Windows XP CD and ran FIXMBR and FIXBOOT, but that didn't help even though I tried multiple times. I even tried a recovery install of Windows from the CD, but that too failed to boot from the new disk during the second step of the reinstall. I finally booted FreeBSD 7.0 from its CD and ran the command "dd if=/dev/zero of=/dev/ad4 bs=512 count=20" to overwrite the first 20 sectors of the disk with binary zeros. After once again rebooting Windows from the old disk, I used Data Lifeguard to copy the old partition to the new disk, and Windows finally booted from the new disk. All should have been well, right? Wrong. I noticed something wasn't quite right with my screen, and some things like Adobe Flash weren't working at all. While tracking it down, I found that the Windows install on the new disk is now E:, and my old disk was still C:. Even though Windows itself was using E: as my "system root", it's still trying to use C: for a lot of things. So, I thought I would fix Windows by changing the drive letter for the old disk from C: to something wildly different, H:., using the Computer Management console in the Adminstrative Tools from the Control Panel. Well, after I rebooted, Windows couldn't finish booting all the way to the login screen, apparently since it needed to load something from C: - the drive that no longer existed. I assumed Windows would make the new disk C:, since the old C: was now out of the way. Bad idea... So, I'm suffering through a recovery install of Windows XP SP2, and even as I write this, the install has been interrupted by dialog boxes wanting to find the HP ScanJet driver, and then (this is absolutely insane!) it wanted my original Outlook 2002 CD which was hiding in the back of a disk caddy and took half an hour to find. Good grief, and I have indications that, even though I selected C:\WINNT as the place to do the recovery install, Windows still thinks the new drive is really E:. I have found articles on the web that describe a hideously complicated registry hack that I hope will solve this once and for all. The fundamental problem, though, is that Windows is seriously, fatally fragile. Any little problem, from the initial boot sector to the NTLDR and, of course, any little problem with the registry, renders the system broken and recovery will take hours, if not days. THERE IS ABSOLUTELY NO REASON WE HAVE TO PUT UP WITH THIS! With all the UNIX systems I've managed (and sometimes recovered from mishaps) over the years, there is always a way to recover: boot the necessary CD (or, in the bad old days, tape), get to the point where one can use an editor of some sort, tweak the necessary TEXT FILES (gosh, what a concept!), reboot, and the system is back in operation. This is even the case with Apple's Mac OS X, which I have played with (and at times, broken & recovered)! Microsoft continues building massive edifices on this foundation of sand. One day, I hope the masses will realize we are at a tipping point where we can leave this junk OS behind for good. Mac OS X, Linux, FreeBSD, and others are more than capable of taking over.
|