System file missing or corrupt

Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM

Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE

The files that the above messages are referring to are Registry files. The 100% solution is to reinstall Windows. But you don't want to have to do that, do you?

The easiest solution is to replace the missing or corrupt file with a previous version from the System Restore store. That of course assumes that you haven't switched off System Restore and that you have made no major changes to your system between the System Restore point that you use and when the error message stopped the show.

So how do you get a file out of System Restore when you can't get into the system in the first place? And you also probably haven't got a Windows XP installation disk. So you need to cheat.

What you probably have got is a friend. With a working PC. Get him to download a Linux Live CD file (I recommend Puppy Linux) and then burn it to a CD for you. (He must burn it as a disk image, not as a file copy.)

Then boot your PC with the Linux CD (note that this is not one of my usual click by click detailed tips!). Once you have booted into Linux you should be able to mount and read your hard disk.

The rest of these instructions assume that your problem was with the "SYSTEM" file - if your problem was with the "SOFTWARE" file then make the obvious appropriate changes.

You need to rename the file "\WINDOWS\system32\config\system" on the hard drive to "system.old". (If it's not there, don’t worry, that was your problem, the file was missing!)

Now go back to the root of your hard disk and look at the "\System Volume Information" folder. It contains another folder named "_restore{xxxxxxxxxxxxxxxxxxxxx}" where xxxxxxxxxxxxxxxxxxxxx is a string of random numbers, letters and hyphens. Open that folder and you will see all the RPXXX folders, where XXX is the number of restore points that you have had. You should pick the 2nd highest numerical folder in the list and open it. For example, if you have folders RP101 through RP127 listed you should open RP126. After opening that folder you you should open the "snapshot" folder and copy the file "_REGISTRY_MACHINE_SYSTEM" into the "\WINDOWS\system32\config" folder and then rename it from "_REGISTRY_MACHINE_SYSTEM" to "system".

That's it, come out of Linux and try rebooting Windows. All should be well, (unless the original cause of the problem was a failing hard disk!) Any programs installed between the Restore Point that you used and the crash might have to be reinstalled.