Ahh, another day, another Windows Update auto-update gone horribly wrong.
I woke up to this:
Windows could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM
I tried to boot from my XP SP2 slipstream disk and go to a recovery console, but even there I could not get the file to copy or rename. Chkdsk tried but failed.
Here is how I got my system back up and running.
It wasn’t helping that my C: drive is a RAID 0 stripe across 2 disks; this made it pretty much impossible to drop the hard drive into another machine and fix it from there.
To fix the issue, I did the dreaded reinstall. However I installed to C:\WINDUHS instead of the default. This allowed me to get a semi-functional XP up and running. From there, I went to start, Run, REGEDIT.
In the registry editor, I highlighted HKEY_LOCAL_MACHINE, and then went to File -> Load Hive.
I located Windows\System32\Config\system and added it. REGEDIT asked for a name so I used “BADBADBAD”.
REGEDIT complained that there were errors in the hive, and that it had to repair it, but that it was successful. VOILA!
Next I unloaded the BADBADBAD hive by selecting it and choosing File… unload hive.
Now, when rebooting I had to choose the older boot option (which came up second… you can edit your boot.ini if you want to modify this), but I got my old system back! Not only that, but I have a handy WINDUHS install at the ready should anything cause my system to become unbootable in the future.