Missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM #
Confronted with the rather unpleasant sounding "Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM", Google turned up the following KB article: How to recover from a corrupted registry that prevents Windows XP from starting. Two potential problems:
- "Do not use the procedure that is described in this article if your computer has an OEM-installed operating system." (it did)
- "This article assumes that typical recovery methods have failed and access to the system is not available except by using Recovery Console." (sounds ominous)
So instead, the following was attempted, which miraculously worked (YMMV):
- Boot system via BartPE
- BACKUP DATA!!!
- Move c:\windows\system32\config\system, software, sam, security, and default to temporary directory
- Copy (not cut) and paste those same 5 files back to their original location
- Reboot computer
Back to the Desktop, a system restore to several days prior was performed for good measure. Everything working beautifully.
UPDATE 1: Stephen kindly wrote in with the following advice:
There are 2 reasons that come to mind why what you did worked.
- The files were crosslinked, in which case a chkdsk /f is in order.
- There are bad sectors on the hdd, in which case a replacement drive is in order.
I don't see how simply moving and recopying the files would repair them otherwise.
There is another utility called Registry Restore Wizard to copy the registry from the system restore using BartPE.
UPDATE 2: Jeff Harrison offers another explanation as to why this might have worked:
The reason for the error message above is HEAVY fragmentation of those registry files and this is also why copying the files from A to B and back to A helps in this case. It's not really a "mystery", Windows just reacts somewhat picky when booting. The error was already known on Windows 2000 by the way. A good thing to do is to regularly defrag those files when necessary, an easy way to do so is by running the PageDefrag utility from
Sysinternals.
/windows | Oct 29, 2005
Subscribe or visit the archives.