Fixing Blue Screen "Stop: C0000218 {Registry File Failure}" in Windows XP

Stop: C0000218 {Registry File Failure}

C0000218 {Registry File Failure} Blue Screen of Death (BSOD) occurs if Windows is unable to read one of the registry database file. This can occur because of software or hardware issues, for example: power cut while Windows was writing to registry file (software), or a new bad sector on the system hard drive (hardware).

Full error reads:
STOP: c0000218 {Registry File Failure}
The registry cannot load the hive (file)
\SystemRoot\system32\config\SOFTWARE
or its log or alternate.
It is corrupt, absent, or not writable.

Beginning dump of physical memory
Physical memory dump complete.
Contact your system administrator or technical support group for further assistance.

There are 5 registry database files in Windows system:

  1. System
  2. Software
  3. Sam
  4. Security
  5. Default

In this example we are going to deal with "Software" portion of the registry, but you can use the same instructions to recover any other registry file.  

Before trying to rescue Windows I would recommend to perform a HDD scan using manufacturer's utility (Seagate SeaTools, etc.) to check status of the hard drive. If you only have one or two bad sectors it's fine to proceed, but if hard drive is badly damaged there is not much point in trying to save Windows and you would be better off trying to recover any important data residing on this disk.

There are couple of ways to recover from this error. One we are going to use involves:

  • Replacing corrupted registry file with original version from Windows Repair folder (so you can boot into Windows).
  • Extracting latest registry file from Windows System Restore
  • Replacing original registry file with latest versions from System Restore.

  Stepby step instructions:

  1. Boot from Windows XP installation CD and enter recovery console:
    • Insert Windows XP instalaltion CD and start computer
    • If computer doesn't boot from CD automatically, enter BIOS and change boot order
    • When initial Windows setup files load, press R to enter the Recovery Console
    • Select your Windows installation (normally 1)
    • Enter administrator password (leave blank if password not set)
  1. In Recovery Console replace corrupted registry file with original copy
    • Create a new backup directory:
      md tmp
    • Backup corrupted registry file:
      copy c:\windows\system32\config\software c:\windows\tmp\software.bak
      If you are dealing with a bad sector on the hard drive this action will probably fail. In this case simply skip this step and carry on.
    • Replace corrupted registry file with original copy from Windows repair folder:
      copy c:\windows\repair\software c:\windows\system32\config\software
    • Exit recovery console:
      exit
  2. Now computer will reboot and should successfully load Windows. Some application and Windows components may not work properly as we loaded original registry file which was created while installing Windows. To restore normal Windows functionality we need to replace original registry file with an up to date version created by System Restore.
  1. Extract latest registry file from System Restore
    • Open Control Panel > Folder Options > View
      Select: Show Hidden Files and Folders
      Uncheck: Hide Protected operating System files
    • Open C: drive and go into System Volume Information folder
      You will probably get Access is denied error. In this case Right Click on the folder > Properties > Security and add your account with Full Control permissions.
      If Security tab is not displayed open  Control Panel > Folder Options > View and uncheck "Use simple file sharing"
    • Open System Volume Information folder. You will find one or more folders with names similar to _restore{3E410520-6567-402D-948E-6681CE384EC1}
      Each folder will contain number or folders with names RPXX (each representing a restore point)
      Registry files are location in snapshot subfolders. One we need will be called _REGISTRY_MACHINE_SOFTWARE
      You need to find one which is most up to date, but created before system crashed. Easiest way to find this is to change Folder Views to Detail and check Date Modified columns.
    • Copy the _REGISTRY_MACHINE_SOFTWARE file to C:\Windows\tmp and rename it to SOFTWARE
  1. Boot back into Windows Recovery Console (check step 1)
  2. In Recovery Console replace original registry file with one we extracted from System Restore.
    • Delete original registry file:
      del c:\windows\system32\config\software
    • Copy extracted registry file:
      copy c:\windows\tmp\software c:\windows\system32\config\software
    • Exit Recovery Console:
      exit





Newsletter

Subscribe to receive occasional updates on new posts.
Your email will not be used for any other purpose and you can unsubscribe at any time.
Please wait