Freigeben über


Registrierungssicherungs- und Wiederherstellungsvorgänge unter VSS

Der Windows-Registrierungsdienst unterstützt einen VSS-Writer, den sogenannten Registrierungsschreiber, der es Anforderern ermöglicht, eine Systemregistrierung mithilfe von Daten zu sichern, die auf einem kopierten Schattenvolume gespeichert sind. Weitere Informationen zum Registrierungsschreiber finden Sie unter In-Box VSS Writers.

Der Registrierungsschreiber führt direkte Sicherungen und Wiederherstellungen der Registrierung durch. Darüber hinaus meldet der Registrierungsschreiber nur Systemstrukturen. Benutzerstrukturen werden nicht gemeldet.

Windows Server 2003: Der Registrierungsschreiber verwendet eine Zwischenrepositorydatei (auch als Spuckdatei bezeichnet), um Registrierungsdaten zu speichern. Darüber hinaus meldet der Registrierungsschreiber Systemstrukturen und Benutzerstrukturen.

Die Writer-ID für den Registrierungsschreiber lautet AFBAB4A2-367D-4D15-A586-71DBB18F8485.

Windows XP: Es gibt keinen Registrierungsschreiber. Die Registrierungsdaten werden vom Bootable State Writer gemeldet, dessen Writer-ID F2436E37-09F5-41AF-9B2A-4CA2435DBFD5 lautet.

Hinweis

Microsoft bietet keine technische Unterstützung für Entwickler oder IT-Experten für die Implementierung von Online-Systemzustandswiederherstellungen unter Windows (alle Releases). Informationen zur Verwendung von von Microsoft bereitgestellten APIs und Verfahren zum Implementieren von Online-Systemstatuswiederherstellungen finden Sie in den Communityressourcen, die im MSDN Community Center verfügbar sind.

 

Hinweis

Die folgenden Informationen gelten nur für Windows Server 2003 und Windows XP.

 

Registrierungssicherung mithilfe von VSS

Der Registrierungsschreiber exportiert und speichert aktive Registrierungsdateien an denSpeicherorten, die durch den Schlüssel HKEY_LOCAL_MACHINE\System\CurrentControlSet-Steuerelementstruktur\\ definiert sind.

Die Namen der Werte unter diesem Registrierungseintrag identifizieren die zu speichernde Registrierungsstruktur, und die Daten des Werts stellen die Datei bereit, die die Datei (die Hive-Datei) enthält. Die Hive-Dateien werden mit dem folgenden Format angegeben: \Device\HarddiskVolumeX-Pfaddateiname\\.

Unter HKEY_LOCAL_MACHINE\System\CurrentControlSet-Steuerelementstruktur\\ wird beispielsweise \REGISTRY\MACHINE\SOFTWARE = \Device\HarddiskVolume1\Windows\System32\config\SOFTWARE angezeigt.

Der Registrierungsschreiber stellt sicher, dass Hive-Dateien vor der Schattenkopie auf dem Datenträger gespeichert werden.

Beim Sichern der Registrierungsstrukturen ersetzt ein Anforderer \Device\HarddiskVolumeX durch die Geräteobjektzeichenfolge der Schattenkopie des Volumes.

Hinweis

Sie können den Pfad \Device\HarddiskVolumeX mithilfe der QueryDosDevice-Funktion in einen entsprechenden Win32-Pfad konvertieren. Weitere Informationen finden Sie unter Abrufen eines Dateinamens aus einem Dateihandle oder Anzeigen von Volumepfadnamen.

 

Registrierungswiederherstellung mithilfe von Nicht-VSS-Win32-APIs

Hinweis

Die Registrierungswiederherstellung wird auf Windows Server 2016 und höher nicht unterstützt.

Für eine Onlinewiederherstellung (abgesicherter Modus oder vollständiges Betriebssystem) müssen die Unterschlüssel im HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations-Registrierungsschlüssel beibehalten werden.

Die Funktionen MoveFileEx und MoveFileTransacted verwenden diesen Registrierungsschlüssel, um Informationen zu Dateien zu speichern, die mithilfe des MOVEFILE_DELAY_UNTIL_REBOOT-Werts im dwFlags-Parameter umbenannt wurden.

Um den Inhalt des Registrierungsschlüssels PendingFileRenameOperations beizubehalten, sollte Ihre Sicherungsanwendung die RegLoadKey-Funktion aufrufen, um die Wiederherzustellende Registrierungsdatei mit der aktiven Registrierung zu verbinden. Ihre Sicherungsanwendung kann dann die verschiedenen Registrierungsfunktionen verwenden, um die gewünschten Schlüssel und Werte in die geladene Struktur zu kopieren. Nachdem die Kopie abgeschlossen ist, sollten die Funktionen RegFlushKey und RegUnloadKey aufgerufen werden.

Für eine Offlinewiederherstellung (Windows-Wiederherstellungsumgebung oder Windows PE) ist es nicht erforderlich, den Registrierungsschlüssel PendingFileRenameOperations zu berücksichtigen.

Registrierungswiederherstellung mithilfe von Nicht-VSS-Win32-APIs in Windows Server 2003

Hinweis

Die folgenden Informationen gelten nur für Wiederherstellungsvorgänge im Zusammenhang mit der Notfallwiederherstellung (auch als Bare-Metal-Wiederherstellung bezeichnet), die in Windows Server 2003 ausgeführt werden.

 

Beim Wiederherstellen der Registrierung muss eine Sicherungsanwendung einige der Unterschlüssel aus der aktuellen Registrierung in die Registrierung verschieben, die wiederhergestellt werden soll.

Hierzu kann eine Sicherungsanwendung RegLoadKey aufrufen, um die Registrierungsdatei, die wiederhergestellt werden soll, mit der derzeit aktiven Registrierung zu verbinden. Anschließend können die verschiedenen Registrierungsfunktionen verwendet werden, um die gewünschten Schlüssel und Werte in die geladene Struktur zu kopieren. Nachdem die Kopie abgeschlossen ist, werden RegFlushKey und RegUnloadKey aufgerufen.

Es gibt einen Registrierungsschlüssel, der einer Wiederherstellungsanwendung (Anforderer) die Registrierungsschlüssel unter HKEY_LOCAL_MACHINE\SYSTEM angibt, die zum Zeitpunkt der Wiederherstellung nicht überschrieben werden sollten:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\KeysNotToRestore

Ein Teil des Systemstatuswiederherstellungsprozesses umfasst das Wiederherstellen einer zuvor gesicherten Registrierung.

Sicherungsanwendungen müssen beim Wiederherstellen der HKEY_LOCAL_MACHINE\SYSTEM-Struktur besonders vorsichtig sein, da die Installation einer temporären Version des Windows-Betriebssystems in der neu installierten Systemstruktur über festgelegte Schlüssel verfügt, deren Werte den Wiederherstellungsvorgang überdauern müssen.

Wenn das Ersatzsystem beispielsweise über eine andere Netzwerkschnittstellenkarte als das ursprüngliche System verfügt, führt die Wiederherstellung der ursprünglichen Schlüssel für die vorherige Karte zu unvorhersehbaren Ergebnissen. Dies liegt daran, dass der Plug & Play Dienst die richtigen Registrierungseinträge für Dienst und Treiber erkannt und in der Registrierung platziert hat. Diese Werte müssen beibehalten werden, um nach der Systemwiederherstellung ordnungsgemäß zu starten.

In diesem Abschnitt wird beschrieben, wie Sicherungsanwendungen ermitteln können, welche Schlüssel und Dateien beim Ausführen einer Wiederherstellung der HKEY_LOCAL_MACHINE\SYSTEM Struktur beibehalten werden sollen. In einigen Fällen beinhaltet dies das programmgesteuerte Kopieren der Schlüssel aus der neu installierten Installationsstruktur in die Struktur, die wiederhergestellt werden soll. In anderen Fällen ist die Sicherstellung, dass die Registrierungsschlüssel eines Produkts nicht ersetzt werden, so einfach wie die Angabe solcher Schlüssel in der INF-Konfigurationsdatei des Produkts.

Schlüssel (und Schlüsseldaten), die beibehalten werden sollen, werden in der HKEY_LOCAL_MACHINE\SYSTEM Struktur unter dem

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\KeysNotToRestore

key as sets of REG_MULTI_SZ strings (in diesem Dokument als Schlüsselzeichenfolgen bezeichnet).

Eine Sicherungsanwendung (Anforderer) muss die Werte dieser Schlüssel in der aktiven Registrierung und der neu wiederhergestellten Registrierung untersuchen, da jede Anwendung oder jeder Dienst jederzeit Werte hinzufügen kann.

Wie Schlüsselzeichenfolgen von Sicherungsanwendungen interpretiert werden sollen, wird durch ihr Terminalzeichen bestimmt:

  1. Schlüsselzeichenfolgen, die mit einem umgekehrten Schrägstrich ('\') beendet werden, werden als Unterschlüssel interpretiert. Wenn eine solche Teilzeichenfolge gefunden wird, muss die Sicherungsanwendung alle Daten und alle untergeordneten Schlüssel beibehalten.

    Im Folgenden wird beispielsweise angegeben, dass alle untergeordneten Schlüssel und Daten für einen Wiederherstellungsvorgang beibehalten werden sollen:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dmio\boot Info\

    Zu diesem Zweck müssen dieser Schlüssel und alle untergeordneten Schlüssel und Daten aus der vorhandenen Registrierung (d. h. der durch die Installation von Windows erstellten) in die neu wiederhergestellte Registrierung kopiert werden. Dies wird als Schlüsselersetzungsvorgang bezeichnet. Dieser Vorgang ersetzt den entsprechenden Schlüssel in der wiederhergestellten Registrierung.

  2. Schlüsselzeichenfolgen, deren Beendigungszeichen ein Sternchen ('*') ist, geben an, dass alle Unterschlüssel zusammengeführt werden sollen. Beispielsweise die Schlüsselzeichenfolge:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\*

    gibt an, dass der Dienstschlüssel in der vorhandenen Registrierung (z. B. die durch die Installation von Windows erstellten) in die wiederhergestellte Registrierung zusammengeführt werden muss. Dies wird als Schlüsselzusammenführungsvorgang bezeichnet, und wenn ein Unterschlüssel sowohl in der vorhandenen Struktur als auch in der wiederhergestellten Struktur vorhanden ist, wird der Schlüssel im wiederhergestellten Verzeichnis mit den folgenden Ausnahmen beibehalten:

    • Wenn der Unterschlüssel in der vorhandenen Struktur einen Wert mit dem Namen "start" enthält, und der Unterschlüssel in der wiederhergestellten nicht.
    • Wenn der Unterschlüssel sowohl in der vorhandenen als auch in der wiederhergestellten Struktur einen Wert mit dem Namen "start" enthält, und sein numerischer Wert in der vorhandenen Struktur kleiner ist.

    Der Wert "start" in der Registrierung gibt an, wann ein Dienst oder Treiber gestartet wird, und kann einen numerischen Wert zwischen 0 und 4 aufweisen. Je niedriger der Wert, desto früher wird der Dienst im Startvorgang gestartet.

    Wenn dieser Schlüssel sowohl im vorhandenen als auch im wiederhergestellten Verzeichnis vorhanden ist, müssen Sie den Wert des Startschlüssels in jeder Struktur untersuchen. Wenn der Wert in der vorhandenen Struktur niedriger als der Wert im wiederhergestellten Verzeichnis ist, muss der niedrigere Wert beibehalten werden.

    Erneut wird dieser Schlüssel verwendet, um zu bestimmen, ob ein Dienst oder Treiber zur Startzeit, zur Systemzeit, manuell, automatisch oder deaktiviert werden soll. Der niedrigere Wert stellt eine frühere Startzeit dar. Die frühere Startzeit muss auf die neue Registrierung angewendet werden, um sicherzustellen, dass der Dienst oder die Treiber beim nächsten Start ordnungsgemäß gestartet werden.

  3. Schlüsselzeichenfolgen, deren Beendigungszeichen weder ein umgekehrter Schrägstrich noch ein Sternchen ist, werden als Registrierungswerte interpretiert, die beibehalten werden sollen.

    Beispielsweise die Schlüsselzeichenfolge:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

    Der Mechanismus, mit dem Schlüssel programmgesteuert beibehalten werden können, umfasst die Win32-Registrierungs-API. Ein Algorithmus wird beispielsweise unten aufgelistet:

    1. Stellen Sie die gesicherte Systemstrukturdatei in einer Datei wieder her. In diesem Beispiel lautet der Name System.reg.

    2. Verwenden Sie RegLoadKey , um System.reg unter einem temporären Namen in HKEY_LOCAL_MACHINE zu laden. Ein solcher Name kann z. B. sein.

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

    3. Listen Sie die Werte im Unterschlüssel KeysNotToRestore aus beiden Registrierungskopien auf, und erstellen Sie eine Obermenge der Listen. Kopieren Sie jeden dieser Schlüssel aus dem vorhandenen Schlüssel.

      HKEY_LOCAL_MACHINE\SYSTEM

      Schlüssel in die

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

      schlüssel gemäß der oben beschriebenen Semantik.

    4. Verwenden Sie nach Abschluss die RegFlushKey&RegUnloadKey-Einstiegspunkte , um die

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

      zurück zu System.reg.

    5. Verwenden Sie schließlich RegReplaceKey , um anzugeben, dass System.reg das ersetzen soll.

      HKEY_LOCAL_MACHINE\SYSTEM

      hive-Datei, SYSTEM.