My computer has developed an interesting problem that I can't resolve. In short, when the system boots, I get the error message: "Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM." Can you help solve this problem?

I've seen this exact problem several times. The problem is a corrupt registry. The solution can be complex and laborious but usually solvable. Fixing the problem works best on a standard XP version and not an OEMinstalled version. I've fixed the registry on OEM installations, but the steps shown here may or may not work on some of these custom installations.

Although the error message states that the system file is corrupt or missing, that doesn't mean that the registry damage is restricted to the System component. The registry has five major components?SAM, Security, Software, Default, and System—and you need to change all five. Start by crossing your fingers.

First, you need to boot to an XP CD-ROM and at the Welcome to Setup screen, press R to start the Recovery Console. A message will ask you to pick the version of Windows you want to log on to. You'll see a directory listing such as 1: c:\windows (if you're running only one copy of XP on the system). Type in 1 and press enter. If you're running multiple copies of XP, type the number of the one you need to fix. Log on with your Administrator password.

The fix involves making a temporary folder and copying the current registry hives to this temporary folder, deleting the old hives in the current registry, then repairing the registry. Here's an outline of the procedure:

At the Recovery Console command prompt, type

md tmp 
and press Enter to make the temporary folder. Then type each of the following lines, pressing enter after each one.
copy c:\windows\system32\config                                  system c:\windows\tmp\system.bak                              copy c:\windows\system32\config                                  software c:\windows\tmp                                  software.bak                               copy c:\windows\system32\config                                  sam c:\windows\tmp\sam.bak                               copy c:\windows\system32\config                                security c:\windows\tmp\security                                .bak                               copy c:\windows\system32\config                                  default c:\windows\tmp\default                                 .bak                               delete c:\windows\system32\config                                system                              delete c:\windows\system32\config                                  software                              delete c:\windows\system32\config                                  sam                              delete c:\windows\system32\config                                  security                              delete c:\windows\system32\config                                  default                               copy c:\windows\repair\system                                 c:\windows\system32\config\system                              copy c:\windows\repair\software                                c:\windows\system32\config\software                              copy c:\windows\repair\sam                                  c:\windows\system32\config\sam                              copy c:\windows\repair\security                                c:\windows\system32\config\security                               copy c:\windows\repair\default                                 c:\windows\system32\config\default                                      

Exit the Recovery Console and the computer will restart. (Don't boot back into the Recovery Console.) Now, you can restore your system to the way it was before the registry became corrupted. To do so, you need to find a restore point. In the System Volume Information folder, you'll see a group of folders starting with RPx. These folders contain the system restore points. You need to open one of these folders to locate a snapshot subfolder. The following path is an example of a path to a snapshot folder on my XP system: C:\system volume information\_re store\{98539E66-D85A-41E7-ACFDAE0F6CD9DE9\}\RP586\snapshot. Other RPx folders exist on a system, but I use the one with the highest x value, which will have the latest hardware installations and hives.

You'll find the following files in the snapshot folder:

_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SAM
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SECURITY
_REGISTRY_USER_DEFAULT

Copy these files to the Windows\tmp folder that you created earlier. Rename the files as follows:
Rename _REGISTRY_MACHINE
_ SOFTWARE as SOFTWARE
Rename _REGISTRY_MACHINE_
SAM as SAM
Rename _REGISTRY_MACHINE_
SYSTEM as SYSTEM
Rename _REGISTRY_MACHINE_
SECURITY as SECURITY
Rename _REGISTRY_USER
_ DEFAULT as DEFAULT.

From within the Recovery Console, open a command line, and type the following lines, pressing Enter after each line:

del c:\windows\system32\config  software                              del c:\windows\system32\config\sam                              del c:\windows\system32\config  system                              del c:\windows\system32\config  security                              del c:\windows\system32\config  default                                                               copy c:\windows\tmp\software                                c:\windows\system32\config\software                              copy c:\windows\tmp\sam                                c:\windows\system32\config\sam                              copy c:\windows\tmp\system                                c:\windows\system32\config\system                              copy c:\windows\tmp\security                                c:\windows\system32\config\security                              copy c:\windows\tmp\default                                c:\windows\system32\config\default  

Type exit at the command line to quit the Recovery Console, and the system will reboot. Assuming all repair hives are correct, XP should boot normally and return to a state similar to the one before the problem occurred.