Even though my PC is a virtual machine, a BSOD is a very real PITA. I can guess why it happened… I let my MacBook battery die while the virtual PC was running. Oddly, it didn’t happen all in one go. First I got a forced CHKDSK on reboot, which ran for a couple hours and politely told me what files might be toasted. After the next reboot, I reinstalled the trashed files and crossed my fingers. On the next restart, the blue screen of death appeared. Since I was running a virtual PC, I was able to get a screen shot.
Some friendly Microsoft help pages told me that a STOP 0X00000024 on the BSOD means a problem with NTFS, either a bad driver or a corrupt file system. But since the machine could no longer boot far enough to run its own CHKDSK, I decided to cut my losses and restore the partition from a backup. Which I accidentally did in reverse. So, yeah, instead of doing a restore, I had just created a backup of a corrupted partition. Gah! Then I suddenly became paranoid and made backups of all my other partitions, in the correct direction of course.
With my only backup overwritten, running CHKDSK was my only hope, but I no longer had a Windows machine to run it from. So I took a deep breath, booted my Mac from the WinXP install disk, went into the repair console (no automatic repair for me, thanks), and ran "CHKDSK /R" manually. I half expected it to trash my whole Mac. But after chugging away for an hour and some, it said it was done, and a reboot proved my Mac to still be alive. And wonder of wonders, my virtual PC started up just fine. Now I just have to cross my fingers that no system files are missing.
This confirms to me why having more partitions is a good thing. I keep all my documents on their own "Work" partition, so even if a system partition gets trashed, I won't lose them. Also, having Windows on a real partition instead of in a virtual "disk file" made running CHKDSK on it a straightforward, though scary, endeavour. And even if I had failed to make it bootable, I can always mount the partition under OS X or Linux and snatch any important files.
Long story short: David 1, BSOD 0.