4

How can I edit the registry from the Windows Vista Recovery Tool?

The recovery tool provides 5 options:

  • Startup Repair
  • System Restore
  • Windows Complete PC Restore
  • Windows Memory Diagnostic Tool
  • Command Prompt

I can click Command Prompt, from where I can type:

X:\Sources>regedit

And RegEdit appears. But it is editing the registry of the mini-Windows environment that is running the recovery tool - it's not my registry.

I need to edit

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\xx-YY

and change it to

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\en-US


What I tried

I tried creating a dummy key:

HKCU\Software\TempTestFoo

and then using File -> Import to import the registry hive file:

C:\WINDOWS\system32\config\system

and it does, it brings in every key, except CurrentControlSet:

\CurrentControlSet001
\CurrentControlSet002
\CurrentControlSet003
\LastKnownGoodRecovery
\MountedDevices
\Select
\Setup
\WPA
4
  • Wait, if you use Import, doesn't it copy all the information from the hive file into the mini-Windows environment's registry, instead of giving you access to the hive file?
    – Ilya
    Commented Dec 8, 2011 at 13:41
  • @ilya No, it "mounts" the hive to a specified key.
    – Ian Boyd
    Commented Dec 8, 2011 at 14:20
  • Ah, cool. I thought you have to use "REG LOAD" for that.
    – Ilya
    Commented Dec 8, 2011 at 14:54
  • For posterity and @IanBoyd, it actually does matter whether you "import" or "load hive". Import only copies sub-keys from a selected hive file and modifying this copy does not change the actual hive you imported from. "Load Hive" does the opposite, and is what you need to do to accomplish what you described. (Tested on Windows Server 2008.)
    – Dav
    Commented Sep 5, 2013 at 3:14

1 Answer 1

5

The quick answer, you're pretty much there. Check value of Current in the key HKEY_LOCAL_MACHINE\SYSTEM\Select. This will tell you which of the CurrentControlSet00X's you need to make your change in.

For example, if Current is set to 2, you need to edit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002 with your changes.

The way it works is this:

Windows always keeps a few copies of this key, suffixed 001 to 003 (only 2 in Windows 7 I think?). CurrentControlSet001, CurrentControlSet002 and CurrentControlSet003. Think of them as the master keys that are persistent while the computer is switched off.

When you log into Windows, it picks the last used key, using the value of Current in the HKEY_LOCAL_MACHINE\SYSTEM\Select key. The content is copied into a key called HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet. This key is what Windows plays with while you are logged on.

When you log off of Windows, changes are written back to the key that was original copied from when you first logged on. CurrentControlSet002 for example. CurrentControlSet vanishes, so to speak. This is why you are unable to see it while you are logged off, working from the recovery console :-)

Probably a bit over the top with my answer (I blame the Red Bull), but I figured I'd answer a detailed question with a detailed answer.

1
  • +1 for thorough answer. Unfortunatly i was able to find the CD with SATA drivers for my motherboard's hard drive controller, and i was able to run the "Repair" option. That is a long way of saying that i wasn't able to text your answer. But it seems reasonable. So "accepted".
    – Ian Boyd
    Commented Feb 28, 2010 at 19:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .