How to Recover from a Corrupted Registry that Prevents Windows XP from Starting, in 10 minutes or less.

Error messages similar to the following are displayed

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

Site Meter ;


And other hints:


Please Take 5 minutes and read this thoroughly!!!!!! 

It will save you many many many hours of frustration later!!!!!


(It is highly recommended you print this file out for future reference since it will not be available on your computer)

DO NOT REFORMAT YOUR HARD DRIVE.

Read this entire article before starting, only takes a few minutes and could save you hours.

It is not essential you read the recovery console help section.


DISCLAIMER OF DAMAGES
ALMOST ALL DIGITAL ELECTRONICS assumes no liability for damages, direct or consequential, which may result from the use of this information, even if   ALMOST ALL DIGITAL ELECTRONICS has been advised of the possibility of such damages.


Since you were just about to reformat your hard drive and start all over installing and registering your applications and restoring your backed up data you have little to lose, however

Use at your own risk,

Don't let this warning scare you too much.  This app note is a compilation of several Microsoft technical files and not my own creation.  Similar if not identical procedures are described elsewhere on the internet so it is a generally accepted process.



This article assumes that normal recovery methods have failed and access to the system is not available except by using Recovery Console.

You should have tried "SAFE MODE" and "restore last known good configuration" from the advanced startups available by pressing F8 in the first few seconds of a reboot and before windows tries to load.

If an Automatic System Recovery (ASR) backup exists, it is the preferred method for recovery; it is recommended that you use the ASR backup before you try the procedure described in this article.


While you still can!!!! Create the following files in the C:\windows\ directory. This is important since recovery console can only access the C:\windows directory.

You can do so by copying and pasting the text below into notepad and save-as the result to C:\windows.


regcopy1.txt (title of file, not included in file.)

md tmp
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

and


regcopy2.txt (title of file, not included in file.)

del c:\windows\system32\config\sam
del c:\windows\system32\config\security
del c:\windows\system32\config\software
del c:\windows\system32\config\default
del c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_software c:\windows\system32\config\software
copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam
copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security
copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default


In addition is is convenient to install the recovery console, described below, as a STARTUP OPTION in the boot menu which appears following a reboot.

NOTE: a boot menu does not appear unless you have multiple operating systems.  Recovery Console is an additional operating system so the boot menu will appear if it is installed.

Instructions for its use are below. ,however you don't need to read them because you are going to use only one of it's commands, "batch", and that is explicitly called out in the recovery instructions below.

Installing the Recovery Console

You can install the Recovery Console on your computer to make it available in case you are unable to restart Windows. You can then select the Recovery Console option from the list of available operating systems on startup. It is wise to install the Recovery Console on important servers, and on the workstations of IT personnel. This article describes how you can install the Recovery Console to your Windows XP computer. To install the Recovery Console, you must have administrative rights on the computer.

Although you can run the Recovery console by booting directly from the Windows XP CD, it's much more convenient to set it up as a startup option on your boot menu. To run directly by booting from the CD see the "Using the Recovery Console" section later in this article.

To install the Recovery Console, perform the following steps:

  1. Insert the Windows XP CD into the CD-ROM drive.
  2. Click Start, and then click Run.
  3. In the Open box, type d:\i386\winnt32.exe /cmdcons where d is the drive letter for the CD-ROM drive.
  4. A Windows Setup Dialog Box appears, which describes the Recovery Console option. The system prompts you to confirm installation. Click Yes to start the installation procedure.
  5. Restart the computer. The next time you start your computer, you will see a "Microsoft Windows Recovery Console" entry on the boot menu.

By the way, the time that the boot menu is displayed defaults to 30 seconds but can be changed from the "my computer" properties

xp7.jpg (69525 bytes)


You can give Recovery Console access to all directories by doing this (although you generally will not need it):

This step-by-step article describes how to use Group Policy to add more power to the Recovery Console. Windows XP provides a Group Policy that lets you add power to the commands that are available in the Recovery Console. Under normal conditions, the Recovery Console imposes limits on the environment in which it operates.

Use Group Policy to Add Power to Recovery Console

If you pre-install the Recovery Console on a computer, you should use Group Policy to enhance the environment settings, adding power to the available file operations. To do so:

  1. Click Start, click Run, type mmc in the Open box, and then click OK.
  2. On the File menu, click Add/Remove Snap-in, and then click Add.
  3. Click Group Policy, and then click Add.
  4. Click Local Computer, click Finish, and then click Close to return to the Add/Remove Snap-in dialog box.
  5. Click OK to return to the Console window.
  6. Expand the Local Computer Policy object to Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options.
  7. Select the Security Options object in the Console pane to display the security policies in the Details pane.
  8. In the Details pane, double-click the Recovery Console: Allow Floppy Copy And Access To All Drives And Folders policy.
  9. Click Enabled, and then click OK.
  10. Quit the MMC. You can save the console in case you want to make changes.

After you have enabled this Group Policy, when you enter the Recovery Console you can change the environment settings with the set command, by using the set variable = TRUE or FALSE syntax.

NOTE: Be sure to use a space on each side of the equal sign. If you do not, the set command generates a "syntax error" error message and does not work.

The following variables define the default environment. The variables, when set to TRUE, enlarge the scope of the environment setting and have the following meanings:

To see the current settings for the environment, type set without parameters at a command prompt.


SUMMARY

This article describes how to recover a Windows XP system that does not start because of corruption in the registry. This procedure does not guarantee full recovery of the system to a previous state; however, you should get very close. I've always gotten full recovery.

In part 1 ,using the recovery console, you restore the registry to it's virgin installed configuration as if you had just installed XP. This allow you to boot to an operable verson of XP.  The file regcopy1.txt you created above does this for you.

In part 2, using the operable version, you find a recent version of the registry and copy it to a C:\Windows\Tmp directory.

In part 3, using the recovery console, you replace the virgin installed configuration with the version copied to the
C:\Windows\Tmp directory. The file regcopy2.txt you created above does this for you.

In part 4 you boot to that version of XP and then use "System Restore" to restore to the last known good configuration.

A TESTED idea that skips parts 1 and 2 in the future (after having run all 4 parts at least once) Make sure you read this one since it will make recovery very quick, especially if you have recovery console installed.


Part One

In part one, you boot to the Recovery Console, create a temporary folder, back up the existing registry files to a new location, delete the registry files at their existing location, and then copy the registry files from the repair folder to the System32\Config folder. When you are finished with this procedure, a registry is created that you can use to boot back into Windows XP. This registry was created and saved during the initial install of Windows XP.

You do this by running the regcopy1.txt you created above or by manually typing in the commands described in it.

To complete part one, follow these steps:

1) Boot to the Recovery Console.
   A) Boot to "recovery console" from the boot menu. OR
   B) Make sure BIOS is set to boot from CD-ROM, Insert your XP system disk and reboot.
     Press any key to boot from CD-ROM when screen says to.
     After a bunch of setup files are loaded, Chose R for recovery console when prompted.
2) Select installation (usually "1" RETURN unless you have multiple operating systems then get number from the boot menu)
3) Enter the administrator password if you have one or just hit RETURN
4) At the Recovery Console command prompt, type the following :

c:\windows\batch regcopy1.txt

or hand type in the dos commands listed in it.
  1. Type exit to quit Recovery Console. Your computer will restart to the install version of XP.
    If requested, you may re-activate XP via the internet.(Should not have to re-register) Not sure if this is necessary but have not tried to go without it.

At this point you are the same as if you had reformatted your hard drive and installed XP for the first time and you would have lost all data files, emails, internet settings and everything else that had happened since the initial install.  You would then have to spend about a full day reinstalling and re-registering all your applications and restoring any backup data files you were smart enough to make.

HOWEVER, you did not reformat your hard drive and all that stuff is still there.  The following parts will get you back to full restore in about 15 minutes


Part Two

To complete the procedure described in this section, you must be logged on as an administrator, or an administrative user (a user who has an account in the Administrators group).

In part two, you copy the registry files from their backed up location by System Restore. This folder is not available in Recovery Console and is normally not visible during normal usage. Before you start this procedure, you must change several settings to make the folder visible:

  1. Start Windows Explorer.
  2. On the Tools menu, click Folder options.
  3. Click the View tab.
  4. Under Hidden files and folders, click to select Show hidden files and folders, and then click to clear the Hide protected operating system files (Recommended) check box.
  5. Click Yes when the dialog box is displayed that confirms that you want to display these files.
  6. Double-click the drive where you installed Windows XP to get a list of the folders. If is important to click the correct drive.

Open the System Volume Information folder. This folder appears dimmed folder because it is set as a super-hidden folder.
xp1.jpg (3732 bytes)


NOTE: You may receive the following error message:

C:\System Volume Information is not accessible. Access is denied.

xp2.jpg (5899 bytes)

If you get this message, see the following:

309531 How to Gain Access to the System Volume Information Folder

Windows XP Professional using the NTFS File System on a Workgroup or Standalone Computer

  1. Click Start, and then click My Computer.
  2. On the Tools menu, click Folder Options.
  3. On the View tab, click Show hidden files and folders.
  4. Clear the Hide protected operating system files (Recommended) check box. Click Yes when you are prompted to confirm the change.
  5. Clear the Use simple file sharing (Recommended) check box.
  6. Click OK.
  7. Right-click the System Volume Information folder in the root folder, and then click Properties.
  8. Click the Security tab.
  9. Click Add, and then type the name of the user to whom you want to give access to the folder. Typically, this is the account with which you are logged on (The USER NAME you are logged in as).  Click OK, and then click OK.
  10. Double-click the System Volume Information folder in the root folder to open it.

This folder contains one or more _restore {GUID} folders such as "_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}".


xp3.jpg (19230 bytes)


Open any _restore folder that was not created at the current time. Best to pick one at least a day old. You may have to click Details on the View menu to see when these folders were created.

If the _restore folder contains only RP0 and RP1 do not use this folder.  You should find one containing many RPxxx folders depending on how long your system has been in operation.

xp4.jpg (23217 bytes)

Open one of these folders to locate a Snapshot subfolder folder; the following path is an example of a folder path to the Snapshot folder:

C:\System Volume Information\_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}\RP290\Snapshot

I usually pick a snapshot dated the previous day.

xp5.jpg (3700 bytes)

Typical contents of a snapshot folder is shown below

xp6.jpg (21346 bytes)

From the Snapshot folder, copy the following files (usually the first 5) and paste to the C:\Windows\Tmp folder:

using the standard Windows Copy and Paste functions.


Part Three

In part three, you delete the existing registry files, and then copy the System Restore Registry files to the C:\Windows\System32\Config folder: 

You do this by running the regcopy2.txt you created above or by manually typing in the commands described in it.

1) Restart the computer
2) Boot to the Recovery Console.
   A) Boot to "recovery console" from the boot menu. OR
   B) Make sure BIOS is set to boot from CD-ROM, Insert your XP system disk and reboot.
     Press any key to boot from CD-ROM when screen says to.
     After a bunch of setup files are loaded, Chose R for recovery console when prompted.
3) Select installation (usually "1" RETURN unless you have multiple operating systems then get number from the boot menu)
4) Enter the administrator password if you have one or just hit RETURN
5) At the Recovery Console command prompt, type the following :
 
RUN: C:\windows\batch regcopy2.txt
or manually type in the dos commands described in it.

Type exit to quit Recovery Console. Your computer will restart to the previous version of XP.

If requested, you may re-activate XP via the internet.(Should not have to re-register) Not sure if this is necessary but have not tried to go without it.

Part Four Do not skip this part as there is more to system restore than just the registry files.

You will not lose any data from documents you created or from your email accounts.


That's it, you should be back in business.

If not and you are still getting boot errors or other errors (like one time it locked up when trying to register the software over the internet) then repeat the process using a different restore point.

Apparently XP will actually create a restore point that contains a corrupted registery file.  You have to find a snapshot folder that has good files.   Try going back to and even earlier one such as two or three days ago.


The following has been TESTED

After you have done the full 4 step procedure once there is a simplified approach that skips part 1 and part 2.

Since the function of parts 1 and 2 was to provide a usable version of XP for the sole purpose of copying a recent version of the registry to C:\windows\tmp, and since this was already done by a previous execution of parts 1 and 2 then it stands to reason you should not have to repeat them next time.

Here's a late breaking thought, GO AHEAD AND EXECUTE PART 2 RIGHT NOW and you will never have to run PART 1.  Then you will probably not be bothered to re-activate windows.

Create a REGrestore.txt file in C:\windows. This utilizes the known good registry files you put in the C:\Windows\Tmp directory in PART 2 on your last bomb out of XP and immediately replaces them with that version.

You could also just run Regcopy2.txt.  REGrestore is identical to Regcopy2 except it saves the existing registry files in C:\windows\tmp as .bak files.   Not really necessary mainly because there was something wrong with them anyway.   But doesn't hurt to do it.

This should allow you to then do PART 4, using system restore to get back to date.


REGrestore.txt


copy c:\windows\system32\config\system c:\windows\tmp\system1.bak
copy c:\windows\system32\config\software c:\windows\tmp\software1.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam1.bak
copy c:\windows\system32\config\security c:\windows\tmp\security1.bak
copy c:\windows\system32\config\default c:\windows\tmp\default1.bak
del c:\windows\system32\config\sam
del c:\windows\system32\config\security
del c:\windows\system32\config\software
del c:\windows\system32\config\default
del c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_software c:\windows\system32\config\software
copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam
copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security
copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default


1) Restart the computer
2) Boot to the Recovery Console.
   A) Boot to "recovery console" from the boot menu. OR
   B) Make sure BIOS is set to boot from CD-ROM, Insert your XP system disk and reboot.
     Press any key to boot from CD-ROM when screen says to.
     After a bunch of setup files are loaded, Chose R for recovery console when prompted.
3) Select installation (usually "1" RETURN unless you have multiple operating systems then get number from the boot menu)
4) Enter the administrator password if you have one or just hit RETURN
5) At the Recovery Console command prompt, type the following :
 
RUN: C:\windows\batch regrestore.txt
or manually type in the dos commands described in it.

Type exit to quit Recovery Console. Your computer will restart to the recent version of XP.

From there repeat PART 4 using system restore to get up to date. DO NOT skip this step as there is more to system restore than just the registry.  It also restores previous versions of drivers and God knows what else.  If a bad driver update is what bombed XP on your system this will put the old version back in place of the bad one.

If requested, you may re-activate XP via the internet.(Should not have to re-register) Not sure if this is necessary but have not tried to go without it.

When I tried this process I did not have to re-activate XP which eliminates another irritating step.



For more great tips on XP see

Windows XP forgets my folder view settings. Is there a fix?

How to delete a zero byte file. such as "search[1]", that cannot be deleted in Windows.

Cannot open folders, all functions incredibly slow, continuous flickering drive light.

How to delete a stuck email that never seems to finish downloading.

http://www.rk-net.com/XP/WindowsXP.htm

http://www.winxpnews.com/

http://www.kellys-korner-xp.com/xp.htm


I had a case where I could not open any folders (via shortcuts at least), the system was incredibly slow, I mean minutes instead of seconds to execute a function, and the drive light was flickering almost continuously.   Restarting did not fix it.  Turning machine off and then back on, to erase all of memory, did not fix it.

I resorted to an old trick I used with Win 98 when strange things like that happened. 

Reboot in SAFE MODE (F8 during boot up of Windows)

All you do in SAFE MODE is select START / Turn off Computer / Restart and reboot to normal XP.

Have no idea what that does but it fixes the problem.


While I never had any registry problems with Win98 here is some recovery information that could come in handy.

Fixing a Corrupted Registry with Registry Checker
In Windows 98, a backup copy of the Registry is always made when you start your computer. This way you always have a "clean" copy of the Registry available, in case it gets corrupted while you're using Windows. Every time Windows starts, a hidden program called Registry Checker automatically scans your Registry for errors; if it notices a problem, it replaces the current version of the Registry with the "clean" backup copy.

Why doesn't XP do this? Giant step backwards there MS.

You can also run Registry Checker manually to fix a corrupted Registry.
Click the Start button and select Run.
When the Run dialog box appears, type scanreg in the Open box, and click OK.
Registry Checker will now scan your Registry for errors, fixing them automatically.
When it is done scanning your Registry, it will ask if you want to make another backup of the Registry. Click Yes to do so.

Restoring a Previous Copy of the Registry
If your Registry appears to be beyond fixing, you can use Registry Checker to manually restore the backup copy made the last time you started your computer.
Click the Start button and select Shut Down.
When the Shut Down Windows dialog box appears, select Restart in MS-DOS Mode and click OK.
Your computer will now restart in a special non-Windows MS-DOS mode. When you see the c:\> prompt, type cd c:\windows and press Enter.
You should now see a prompt that reads: c:\windows>. Type c:\scanreg /restore and press Enter.
Registry Checker will now restore the backup copy of the Registry. When it finishes doing so, press Ctrl+Alt+Del to restart your computer.

HOW TO: Install and Use the Recovery Console in Windows XP

This article was previously published under Q307654

IN THIS TASK

 

SUMMARY

The Windows Recovery console is designed to help you recover when your Windows-Based computer does not start properly or does not start at all. If Safe mode and other startup options do not work, you can consider using the Recovery Console. This method is recommended only if you are an advanced user who can use basic commands to identify and locate problem drivers and files. In addition, you must be an administrator to use the Recovery Console.

back to the top

Installing the Recovery Console

You can install the Recovery Console on your computer to make it available in case you are unable to restart Windows. You can then select the Recovery Console option from the list of available operating systems on startup. It is wise to install the Recovery Console on important servers, and on the workstations of IT personnel. This article describes how you can install the Recovery Console to your Windows XP computer. To install the Recovery Console, you must have administrative rights on the computer.

Although you can run the Recovery console by booting directly from the Windows XP CD, it's much more convenient to set it up as a startup option on your boot menu. To run directly by booting from the CD see the "Using the Recovery Console" section later in this article.

To install the Recovery Console, perform the following steps:

  1. Insert the Windows XP CD into the CD-ROM drive.
  2. Click Start, and then click Run.
  3. In the Open box, type d:\i386\winnt32.exe /cmdcons where d is the drive letter for the CD-ROM drive.
  4. A Windows Setup Dialog Box appears, which describes the Recovery Console option. The system prompts you to confirm installation. Click Yes to start the installation procedure.
  5. Restart the computer. The next time you start your computer, you will see a "Microsoft Windows Recovery Console" entry on the boot menu.

NOTE: Alternatively, you can use a UNC to install the Recovery Console from a network share point.

back to the top


Using the Recovery Console

You can enable and disable services, format drives, read and write data on a local drive (including drives that are formatted to use the NT File System (NTFS), and perform many other administrative tasks. The Recovery Console is particularly useful if you need to repair your computer by copying a file from a disk or CD-ROM to your hard disk, or if you need to reconfigure a service that is preventing your computer from starting properly.

If you cannot start your computer, you can run the Recovery Console from the Microsoft Windows XP startup disks or the Windows XP CD-ROM. This article describes how to perform this task.

After Windows XP is installed on your computer, to start the computer and use the Recovery Console you need the Windows XP startup disks or the Windows XP CD-ROM.

For additional information about how to create Startup disks for Windows XP (they are not included with Windows XP), click the article number below to view the article in the Microsoft Knowledge Base:

310994 Obtaining Windows XP Setup Boot Disks

NOTE: To start the computer from the Windows XP CD-ROM, you need to configure the basic input/output system (BIOS) of the computer to boot from your CD-ROM drive.

To run the Recovery Console from the Windows XP startup disks or the Windows XP CD-ROM, use the following steps:

  1. Insert the Windows XP startup disk into the floppy disk drive, or insert the Windows XP CD-ROM into the CD-ROM drive, and then restart the computer.

    Click to select any options that are required to start the computer from the CD-ROM drive if you are prompted to do so.
  2. When the "Welcome to Setup" screen appears, press R to start the Recovery Console.
  3. If you have a dual-boot or multiple-boot computer, choose the installation that you need to access from the Recovery Console.
  4. When you are prompted to do so, type the Administrator password. If the administrator password is blank, just press ENTER.
  5. At the command prompt, type the appropriate commands to diagnose and repair your Windows XP installation.

    For a list of commands that are available in Recovery Console, type recovery console commands or help at the command prompt, and then press ENTER.

    For information about a specific command, type help commandname at the command prompt, and then press ENTER.
  6. To exit the Recovery Console and restart the computer, type exit at the command prompt, and then press ENTER.

back to the top


Using the Recovery Console Command Prompt

When you use the Recovery Console, you are working at a special command prompt rather than the usual Windows command prompt. The Recovery Console has its own command interpreter. To enter this command interpreter, you are prompted by Recovery Console to type the Administrator password (the local Administrator, not a domain Administrator).

When the Recovery Console starts, you have the opportunity to press F6 to install a third-party SCSI or RAID driver, in case you need such a driver to access the hard disk. This prompt works the same as it does during installation of the operating system.

The Recovery Console takes a few seconds to start. When the Recovery Console menu is displayed, a numbered list of the Windows installations on the computer is displayed (usually only one entry-c:\Windows-exists). Press a number before you press ENTER, even when only one entry appears. If you press ENTER without choosing a number, the computer restarts and begins the process again.

When you see the prompt for %SystemRoot% (usually C:\Windows), you can begin using the available commands for the Recovery Console.

back to the top


Command Actions

The following list describes the available commands for the Recovery Console:

back to the top


Recovery Console Rules

Several environment rules are in effect while you are working in the Recovery Console. Type set to see the current environment. By default, these are the rules:

back to the top


Deleting the Recovery Console

To delete the Recovery Console:

  1. Restart your computer, click Start, click My Computer, and then double-click the hard disk on which you installed the Recovery Console.
  2. On the Tools menu, click Folder Options, and then click the View tab.
  3. Click Show hidden files and folders, click to clear the Hide protected operating system files check box, and then click OK.
  4. At the root folder, delete the Cmdcons folder and the Cmldr file.
  5. At the root folder, right-click the Boot.ini file, and then click Properties.
  6. Click to clear the Read-only check box, and then click OK.

    WARNING: Modifying the Boot.ini file incorrectly may prevent your computer from restarting. Be sure to delete only the entry for the Recovery Console. Also, it is recommended that you change the attribute for the Boot.ini file back to a read-only state after you complete this procedure. Open the Boot.ini file in Microsoft Windows Notepad, and remove the entry for the Recovery Console. It looks similar to this:

    C:\cmdcons\bootsect.dat="Microsoft Windows Recovery Console" /cmdcons

  7. Save the file and close it.