As with so many of my nightmares, this one started with a good idea. To be more specific, my wife suggested I might avoid some of the computing problems I face if only I had a second computer. I could split my gaming, software development, music, web sites, and so forth across the two machines, which should impose a lighter burden of configuration and drivers on each. It was a good idea, and one that had occurred to me before, but I'm not exactly made out of money; i.e., I didn't think I could afford a second machine just for gaming.
But then I had a good idea too: I could configure my computer for dual use. And no, I don't mean dual use in the preposterous Iran-wants-plutonium-purely-for-peaceful-purposes way, I mean dual use in the sense that I could have one installation of Windows XP devoted to daily work and another devoted to gaming and other activities that run better on a "cleaner" system. One computer can host multiple copies of the operating system, and that would let me test my wife's idea without spending money on a second machine.
For those who don't get the motivation, think with me for a moment. Safe computing these days practically requires a software firewall, anti-virus software, anti-spyware software, anti-spam software, and a host of other CPU and memory draining utilities, to say nothing of any of the programs that shove process after process into one's system tray. At the end of the working day, my computer is pretty heavily burdened with crap in memory, in the registry, etc., before I even try to install any applications, software development tools, music software, or games. Separating entertainment and art from work might do wonders for my daily computing.
Prior to making any changes, I had one installation of Windows XP on my C: drive. My D: drive had plenty of room, but I wanted to keep it reserved for audio sample libraries and other such creative stuff, and my F: drive was pretty full with games, but my E: drive had plenty of room for a second installation of Windows XP. The plan was that I would be able to install and use all the applications and utilities I enjoy with my working installation, and yet not run into any of the dozens of compatibility problems I've seen with the various hare-brained copy protection schemes installed by so many of the video games I play. In short, it seemed like a win-win situation.
Since I was living between two houses at the time, and largely out of reach of my many CDs, I decided to play it safe. Before I started making any changes, I made a complete copy of my E: drive on my D: drive, for safety's sake. That way, if the installation were to fail in any way, I should be able to scrub my E: drive completely and copy everything across without a hitch. I also made it a point to move all of my important data files from my C: drive to my D: drive, figuring that if any drive was likely to get screwed up and be rendered un-bootable it would be my current Windows XP installation. After all, Windows XP loves to hose itself, as I've written about previously, and with important documents on the existing system drive, well, that's just asking for disaster.
I even ran a complete, thorough disk check of every volume in my system, just to be safe. The only thing I didn't do was take the time to back up all my files to a DVD+RW drive, largely because doing so would have required me to go rooting through all the boxes of crap I had lying around to find some media, and then I'd have to fight Nero to organize all the files into four-gigabyte chunks. Hey, I have a lot of data; backup is a royal pain in the rear, which is why it's automated on my house server. It's just that my desktop computer had been living in a different house from the server for a few weeks. I figured it wasn't such a big deal; after all, I moved everything to my big, D: drive just to be safe, right?
At last everything was ready. I booted to the Windows XP CD and began the installation process. It did its thing without a hitch, analyzing the system, copying files, and preparing for its first restart. When it had completed its first pass, it told me it was going to reboot the system, and I was pleased to see that it had simply integrated itself into the existing boot menu, just like it should. I figured I was mere minutes away from that fresh-installation goodness, and I was more than a bit pleased with myself for being so careful.
Or at least, I was until I saw the warning message lying in wait for me just beyond the boot screen, something to the effect that drive D: needed to be checked for consistency. It gave me the option to avoid the check by pressing any key within ten seconds, but I was pretty curious to see what it had to say, so I let it run. When it started spouting message after message, all saying the same thing with a different number, I changed my mind. It was telling me "Deleting orphan file record segment NNNN...", and the NNNN seemed to be counting upward from one. That was enough to freeze my blood in my veins, particularly because my D: drive was where all my important files were now located, again for safety's sake. Irony, that.
So I hit escape and nothing happened. I hit Ctrl+Break, Ctrl+C, and pretty much every other key and key combination I could think to hit, and nothing happened. The Windows XP consistency checker thingy just kept deleting orphan file record segments, one after another, and by now the number had crept into the low thousands. I feared that it was deleting the entire contents of my D: drive, and that was a prospect too horrible to face. So I did the only thing I could do: I pulled the plug. I couldn't regain control of the machine any other way, but I figured at least this way I would be able to skip the whole consistency-checking thing after a reboot by pressing a key.
When the machine started up again it gave me the warning about consistency, but I hit a key to stop it before it had finished its ten second countdown... and another key... and another key... My personal panic level was indeed rising as it summarily ignored every keypress and stubbornly returned to deleting orphan file record segments, picking up exactly where it had left off before the restart. I took stock of my options—and quickly, given the rising number—and figured I had one card left to play: I could always reboot the system back to my old C: installation and work the problem from there. Thank God for F8 and the Windows XP boot menu, right?
Wrong. Unfortunately, I learned something awful that day: the Windows XP installer disables any prior installations of Windows XP at the end of phase one until it has made it safely into phase two. Presumably, this is to prevent the user from booting accidentally to the wrong installation and mucking things up. What it meant for me was far more odious: I had no choice. Thanks to Microsoft's virtually boundless stupidity in the pursuit of dumbing down their products, all to protect the presumed-idiot user from himself, I was going to have to take their abuse. My only choice was to let the consistency check go forward to completion.
For those in the know, I did try booting to CD, but it told me that an installation was already in progress and refused to help me. And I did try disconnecting the hard drive in question from the system completely, but then the startup routine complained about how the drive configuration had changed and setup couldn't continue. In short, I couldn't go around the problem, I couldn't go over the problem, and I couldn't avoid it by any means. My only choice was to accept Microsoft's impossibly brain-dead corruption of my entire hard drive. For more than an hour I sat there and watched it delete orphan file record segments, my heart sinking lower into my chest with every scrolling line, until finally it finished.
Once the consistency checker exited, the machine booted into the fresh new installation of Windows XP on my E: drive, and my worst fears were indeed confirmed. When I looked at my D: drive in Windows Explorer, there wasn't a single file to be found. All of my data had been deleted in the name of consistency checking. And lest the magnitude of this horrendous event be unrecognized, let me reiterate that I had copied and/or moved every, single important bit of data to my D: drive to get it out of the way before I began this process! It was an entirely reasonable thing for me to do, folks. My C: drive had my existing installation, and the E: drive was the target for the new one; as such, the D: drive should have been completely safe. And it would have been too, were it not for the morons at Microsoft.
Do you realize just how awful that was? All of my data was gone. Not some of my data. Not just a few bits of my data. All of my data was gone! I'm talking about more than fifteen years of documents: all my notes and papers from my time at seminary; all my notes, papers, and even my doctoral dissertation from my time at USC; every piece of music I have ever written; every journal; every poem; every TurboTax file since 1989; the last fifteen years of financial data in Quicken; every web site I've ever developed; every piece of software I've ever written; every bit of artwork I've ever created; every picture I've ever taken with our digital camera or scanned from a hard copy; every single web site bookmark. All of my data was gone! I couldn't believe the enormity of the crime; Microsoft's damnable, idiotic, stupid-beyond-all-depths installation routine had systematically deleted every damned file on my hard drive.
To be honest, I have come to despise Microsoft over the years, and I think justifiably so. Their crappy-beyond-belief software has robbed me of countless hours of my life. Their stupid design decisions complicate my every waking moment at the computer. And now the bastards had effectively destroyed every digital thing I had created in the last fifteen years. You don't even want to know about the things I thought of doing to Bill Gates and his company, but I think in that moment I could have made Saddam Hussein look like a rank amateur. Sadly, the civilized man in me won out. I didn't do the right thing and start planning their painful, protracted deaths. No, I did the thoroughly civilized thing; i.e., I resigned myself to being screwed three ways: hard, fast, and continuously.
That's largely what civilization amounts to in my book: an unremitting pursuit of largely simpering, crawling, mewling mediocrity, destroying any possibility for greatness. And all of it stemming from the seemingly unavoidable, simple act of resigning one's self to a life of triviality, a.k.a., "just the way things are". The unreasonable man, upon whom all progress depends if Shaw was right, eventually gives up and conforms because the average proves ultimately too difficult to fight. But I digress; that's a diatribe for some other day.
At any rate, I started thinking about how I could perhaps engage the services of a data retrieval company, and I reminded myself that a fair amount of what I had lost was backed up on my house server, seventy miles away. True, I would lose the last month or so of work, and I realized that some of the web sites and software I had developed probably weren't backed up properly, but I figured that I should probably be able to retrieve a solid seventy percent or so of what I had. The inconvenience would be monstrous, of course, but I told myself it was yet another hard lesson I could learn. It wasn't very comforting, but I was trying to move on sans retribution.
Since it was already the wee hours of the morning, and there was no way I'd be able to sleep after such misery, I figured I might as well work on the new installation a bit. The next step, after getting my drivers installed, was to apply service pack two (SP2). When SP2 finished its setup and rebooted, I was surprised to see that same damnable message about my D: drive needing to be checked for consistency. I hadn't touched a thing on it, and, truth be told, I was a little gun-shy by this point, but I figured I had little left to lose. The drive had already been emptied, after all, so I let it run.
You could have knocked me over with a feather when I saw the messages start piling up about how it was "recovering damaged index file at [insert freaky name beginning with $O here] into file folder NNNN..." Since I was already emotionally and physically exhausted, too much to wait the many hours this process would obviously take, I headed off to bed and fell into a demoralized sleep. My only hope was that maybe, just maybe, some of those freaky file names might contain some of my data. It wasn't a very strong hope, mind you, but it was better than the black pit of despair into which I had fallen.
Imagine my surprise when I got up the next morning, checked my D: drive and, with the exception of a lone WinRAR archive, found every single file and folder had been recovered! I couldn't believe my eyes. I was thinking that I might get a few of my files back, were I lucky as all get out (and not in my usual, all-bad-all-the-time way), yet it seemed at first glance that I had all my files but one! That was sorely needed balm to my tortured soul. It was hard going to work on less than a handful of hours of sleep, but thinking that I hadn't lost nearly so dearly helped a lot.
To come right to the point, I believe I can finger the culprit. My D: drive is a reasonably big (viz., roughly 250 GB) EIDE hard drive. The original Windows XP didn't cope with drives of this size. In fact, only since service pack one, if I recall correctly, has Windows XP coped with anything bigger than 137 GB, or somewhere thereabouts, and then only because it was updated to cope with ATA-133.
So, my suspicion is that the original Windows XP chkdsk routine was confused at the big disk partition and "fixed" it. After installing service pack two, the "fixes" could then be undone. To be sure, this is merely an hypothesis on my part, but it's a decent one. Only Microsoft could simultaneously be so stupid and arrogant to (1) write code that attempts to fix a hard drive it doesn't understand, and (2) lock the user out of the process completely.
Later examination showed that, though all but one of the files and folders were present, quite a few of the "recovered" files had invalid contents. I would hazard a guess that maybe 60% of my original files and folders were recovered properly. The rest had to be deleted and recovered from backups or elsewhere. As an aside, I don't know what I would have done without Directory Opus during this time. Its ability to compare and synchronize files and folders on a byte-per-byte basis was extraordinarily helpful in determining what had been corrupted and in fixing it.
It took me a couple of weeks to sort everything out, but I am amazed to say that none of the corrupted files were irreplaceable. In many cases, the corrupt files were compiled object code or executables that I could rebuild from source code. In many others, they were files I had copied from the E: drive for safety. Still others were image files that I could reload from backups or recreate from master versions saved in Photoshop/Fireworks. My sample libraries probably took the brunt of the damage, but all of those could be reloaded and re-translated from their original media. In short, it's nearly miraculous, but I escaped pretty cleanly in the final analysis.
I can also report happily that my dual-use system has proven itself to be everything I had hoped it would be. Having separate working and gaming operating system installations makes it a bit irritating to switch back and forth, but the flexibility is well worth it. I'm particularly surprised at the number of little tricks and workarounds I no longer need to use. Rather than use the LogiGamer utility to switch my mouse profiles, for example, I simply have my mouse configured differently under each operating system. The same is true of my sound card, fonts, utilities, and other software. Arguably best of all is that my games run at top speed with all the system memory available, while my applications don't suffer from incompatibilities with copy-protection crap.
So the final result is a positive one, though not nearly worth all the pain I had to suffer in getting here. I can't believe how unforgivably stupid Microsoft is when it comes to writing code. True, they did recover quite a bit of the data, but they're the fracking morons who thought it would be a good idea in the first place to write data destroying code and lock the user out of the process completely! It positively amazes me that anyone actually gets work done with the still steaming piles of dung that are Microsoft products. But hey, I guess my experience is just another example of Trustworthy Computing™, right? Way to go, Microsoft.
11/12/2005