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.