Fix 2:-
How to recover from a corrupted registry that prevents Windows XP from starting
http://support.microsoft.com/kb/307545
When you try to start or restart your Windows XP-based computer, you may receive one of the following error messages:
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
Stop: c0000218 {Registry File Failure} The registry cannot load the hive (file): \SystemRoot\System32\Config\SOFTWARE or its log or alternate
System error: Lsass.exe
When trying to update a password the return status indicates that the value provided as the current password is not correct.
(Alan – the following fix worked for me although I had to do the bottom part first to get past `access denied`. Tip the ~ (tilde) symbol on some computers that like to revert to a US keyboard layout without telling you can be found by pressing shift and the ` key (also ` ¬ ) otherwise it is shift and # on UK keyboard layout )
Boot into your Windows CD and choose recovery console or if you can press F8 and boot to DOS/command prompt and type the following (comments in brackets are not to be typed):-
cd \
(the prompt should now be C:\>)
cd system~1\_resto~1
dir
(You will now get a listing of all the restore points, with names like rp1, rp2, etc. You will need to use the one second from last.)
cd rpx (where x is the number of the restore point we are using)
cd snapshot
copy _registry_machine_sam \windows\system32\config\sam
copy _registry_machine_security \windows\system32\config\security
copy _registry_machine_software \windows\system32\config\software
copy _registry_machine_system \windows\system32\config\system
copy _registry_user_.default \windows\system32\config\default
exit
The computer should now restart. Try restarting normally. If Windows still fails to boot, then try an earlier restore point (ie. third, or fourth from last); there is no point in trying more than 3 different restore points.
I get Access Denied message!
On some systems, when you try the second step above, you will get an Access Denied error. In such circumstances, from the Recovery Console (or FreeDOS) Command Prompt, you will need to type in the following commands in bold; press the Enter key at the end of each line:
cd \
cd windows\system32\config
ren system system.bak
exit