Windows – Is it possible to restore a previous Windows registry state without Scanreg.exe

restorewindows-registrywindows-vista

I messed up the Windows registry. I should be able to restore it to a previous state because Windows keeps a backup in C:\Windows\System32\Config I think. There used to be a tool called Windows Registry Checker Tool (scanreg.exe) that would allow you to not only restore to a previous Windows registry state but also to take backup of the current one, by using one of the two commands below.

scanreg /restore

scanreg /backup

But I am using Windows Vista, and apparently they have removed this from Vista and newer versions of Windows. So how do I do something like this in Windows Vista? Is there an alternative to scanreg.exe? Is there another way to backup and restore Windows registry?

Best Answer

There is a way to restore the registry if System Restore is enabled.

If you can boot into Windows you can use System Restore to restore the registry by restoring the system to a restore point before the incident.

If you cannot boot into Windows, you can try booting into Windows safe mode. You can use System Restore from safe mode as well.

If you cannot boot into Windows normal mode nor into safe mode, you can try performing a startup repair, and at the same time restore the system to a restore point before the incident by using WinPE/WinRE.

  1. Boot from the Windows installation media (DVD).
  2. Select Language to install, Time and currency format, and Keyboard or input method.
  3. Click Next.
  4. Click Repair your computer.
  5. If the System Recovery Options dialog shows up, allow it to scan for Windows installations and follow the instructions shown on screen. It should give you the option to restore the system from a restore point.
  6. If you are not prompted to restore from a restore point, or if no startup errors are found you should see the main System Recovery Options screen.
  7. Click on System Restore and follow the instructions to restore from a restore point before the incident.

If you want to restore only the Windows registry you will have to do it manually. System Restore stores its Restore Points (RP) in a folder called _Restore{#} where # represents a Hex number. It is located in C:\System Volume Information. You will have to take ownership of this folder and all of its subfolders. Each restore point has its own folder of the format RP### where the ### stands for a 3-digit number.

After taking ownership of the C:\System Volume Information folder and its subfolders, locate the RP folder that goes back to a date before the incident.

For example, to restore Windows registry from restore point 100, issue following commands in a command prompt.

cd c:\system volume information\_restore{#}\rp100\snapshot
copy _REGISTRY_MACHINE_COMPONENTS c:\windows\system32\config\COMPONENTS
copy _REGISTRY_MACHINE_SECURITY c:\windows\system32\config\SECURITY
copy _REGISTRY_MACHINE_SYSTEM c:\windows\system32\config\SYSTEM
copy _REGISTRY_MACHINE_SOFTWARE c:\windows\system32\config\SOFTWARE

You don't have to copy them all unless you need to or you want to.

Reboot and the registry should be restored.