When you boot your computer and get a message that Windows cannot load because the file Windows\ System32\ Config\ Software cannot be loaded, your Registry is corrupt. This message is telling you that the Registry file name is Software. If the message was Windows\ System32\ Config\ System then the file name would be System. There are a few other Registry files that Windows could complain about, like SAM, Security, or NTuser.dat.
Now that you know how to tell which file needs to be repaired, let's cover how to make the repair.
If the file was NTuser.dat you would simply log on as a different user, if you have more that one user. I always setup a user, "Admin" as a second logon name, just incase of a problem logging into Windows.
The most common files Windows has a problem loading either the System or the Software file. So let me explain how to repair these files. First you need a way to access the file system. If your Windows folder is on an NTFS drive you will need the have the Recovery Console already installed, or a second operating system that can see NTFS files. If your Windows Folder is on a FAT32 (HPFS) you can use a Windows 98 startup diskette.
After you have accessed the Windows folder you need to navigate to the Windows\ System32\ Config folder. Rename the corrupted file to .old, example: software.old. The actual Registry file name does not have a file extension, it is simply named Software.
Now navigate back to Windows\Repair, here you will find a Registry file with the same name as the one you need to repair, In this example I am going to use the file Software. Copy the file Windows\ Repair\ Software to Windows\ System32\ Config\ Software.
Reboot, and Windows should load. If you have Windows XP then install WinSafe XP and use the advance options to install an older backup Registry. If WinSafe does not display any available older registries then you'll need to read on. XP users can use WinSafe to install a backup from System Restore. System Restore will not work, as the Registry Entries for the backups do not exist in the Registry files you installed. If you replaced System of Software.
If you have Windows 2000 or 2003 install a registered version of Registry Drill. Try doing the repair on our newletter here first. If it does not work come back and read on.
Use the load Registry file utility in Registry Drill and load the file Windows\ Repair\ Software. Now have Registry Drill create a repair file. Rename the repair file on your desktop to Original.reg
Now unload the Key and load the file Windows\ System32\ Config\ Software.old. Create a repair file, Repairreg.reg.
If the file cannot be loaded then the database is completely damaged and the file cannot be repaired. You will need to use a backup copy of the file if you have one, or you will have to settle for the current Registry file.
If the file does load then you can have Registry Drill make a repair file. The repair file will export only Registry Keys that are not damaged. Then unload the file in Registry Drill and close Registry Drill. Double click on the desktop file Repairreg.reg. This will import all the old setting less any damaged Keys that Windows could not read. Once the import is complete, double click on the file Original.reg. This will not overwrite all the Registry Keys that where changed by the first import. The first import will contain much more information then the second. The second import will repair any setting that may have cause Windows not to load.
If the file is the System Registry file you will need to do one more step before importing either repair file. The System file does not contain the Key CurrentControlSet, it contains the Keys ControlSet001 and ControlSet002. You cannot write to either Key, only to the CurrentControlSet Key. The CurrentControlSet Key is loaded when Windows loads the Registry, using ControlSet001.
To solve this problem, open both repair files in a text editor, like Notepad or Wordpad. Do a search and replace for \ControlSet001\ and change it to \CurrentControlSet\. Save the files and then import them as I described before. You will receive a message Cannot Import ??? Not all data was successfully written to the registry. This is OK, as the file contains the Key ControlSet002 and some Keys in the CurrentControlSet are protected by Windows. This message only means that some of the Keys where not changed, not that the import was unsuccessful.