Registry offline bearbeiten mit regedit.exe oder PowerShell

    Registry LogoWenn man auf die Registrierdatenbank eines ausgeschalteten Windows zugreifen muss, dann kann man einzelne Zweige (Hives) in die Hierarchie des Live-Systems mounten und dort editieren. Dazu eignet sich sowohl das GUI-Tool regedit.exe als auch PowerShell.

    Es gibt mehrere Gründe, die Registry offline zu bearbeiten. Ein häufiger Anlass ist das Troubleshooting, wenn die Konfiguration eines Rechners so geändert wurde, dass er nicht mehr startet. In diesem Fall kann man versuchen, die problematische Einstellung aus der Registry zu entfernen.

    WinRE booten oder VHD mounten

    Eine weitere Gelegenheit für das Offline-Bearbeiten der Registrier­datenbank ergibt sich bei ausgeschalteten virtuellen Maschinen, wenn man bestimmte Konfigurationen auslesen möchte, ohne die VM hochzufahren.

    Bei einem nicht mehr startfähigen System wird man erst WinRE booten, um von dort die benötigten Tools für die Reparatur der beschädigten Registry zu laden. Unter Windows 10 öffnet man dazu eine Eingabeauf­forderung unter Problembehandlung => Erweitere Optionen.

    Unter 'Problembehandlung' bietet WinRE die Möglichkeit, cmd.exe zu starten.

    Einfacher ist der Zugang zu einer ausgeschalteten VM, weil man deren VHD(X)-Laufwerk nur unter dem Online-Windows mounten muss. Dabei wird ihm ein Laufwerks­buchstabe zugeordnet, so dass man einfach durch das Dateisystem des Gastes navigieren kann.

    Hive in regedit.exe laden

    Entscheidet man sich für den Einsatz des grafischen Registry-Editors, dann geht man folgendermaßen vor:

    • Man wählt in regedit den Zweig aus, in den man den Hive der externen Registry laden möchte (also zum Beispiel HKEY_CURRENT_USER (HKCU) oder HKEY_LOCAL_MACHINE (HKLM)).
    • Im Menü Datei führt man den Befehl Struktur laden aus und wechselt auf dem Laufwerk des ausgeschalteten Windows in das Verzeichnis \windows\system32\config. Die Dateien SOFTWARE, SYSTEM und SAM repräsentieren die Datenbanken für HKLM\Software, HKLM\System und HKLM\Sam. DEFAULT steht für HKCU\Default und NTUSER.DAT für HKEY_CURRENT_USER.
    • Nach der Auswahl der Datenbank wird man nach einem Namen für den Schlüssel gefragt, an dem der Hive eingehängt wird.

    Die Dateien für die Hives des Offline-Systems finden sich unter \windows\system32\config

    Nun kann man die neue Substruktur im Registrier­editor auslesen und bearbeiten.

    Der externe Hive wurde in diesem Beispiel unter temp geladen.

    Nach Abschluss der Tätigkeiten hängt man die Datenbank des Offline-Systems wieder aus, indem man sie im Editor hervorhebt und dann den Befehl Datei => Struktur entfernen ausführt.

    Auf Offline-Registry zugreifen mit PowerShell

    Man würde erwarten, dass PowerShell die externe Datenbank direkt mit New-PSDrive mounten kann, so dass man sie danach wie gewohnt als Laufwerk anspricht. Der Registry-Provider kann aber keine Hives aus dem Dateisystem laden, so dass man dafür das Dienstprogramm reg.exe bemühen muss:

    reg load HKLM\temp e:\Windows\System32\config\system

    Dieser Beispielaufruf lädt den Hive SYSTEM in den Ordner temp unterhalb von HKEY_LOCAL_MACHINE. Nun kann man diesen Zweig mit den Mitteln von PowerShell bearbeiten (siehe dazu: Registry-Schlüssel hinzufügen und löschen mit Powershell).

    Folgendes Beispiel würde prüfen, ob das Gastbetriebs­system in einer VM Mitglied einer Domäne ist:

    Mit dem Parameter unload trennt reg.exe die Verbindung zur externen Datenbank. Allerdings sollte man vorher sicherstellen, dass der Zweig in keinem anderen Programm geöffnet ist und das aktuelle Verzeichnis von PowerShell sich nicht dort befindet. Andernfalls scheitert die Operation.

    Keine Kommentare