Die Windows-Registrierung (Windows Registry) ist eine hierarchische (baumartige) Datenbank mit Datensätzen, die die Einstellungen und Konfigurationen von Microsoft Windows-Betriebssystemen definieren.
Die Registrierung, wie sie im Registrierungs-Editor angezeigt wird, wird aus Daten gebildet, deren Quellen Registrierungsdateien und Hardware-Informationen sind, die während des Startvorgangs gesammelt werden. Im Englischen wird der Begriff Hive zur Beschreibung von Registrierungsdateien verwendet. In der Microsoft-Dokumentation wird dieser Begriff mit „Shrub“ übersetzt.
Hauptdateien, die für die Bildung des Registers verantwortlich sind
Registrierungsdateien werden während der Installation des Betriebssystems erstellt und in einem Ordner gespeichert:
%SystemRoot%\system32\config (normalerweise C:\windows\system32\config).
Bei Windows-Betriebssystemen handelt es sich um Dateien mit dem Namen:
- system
- software
- sam
- security
- default
- components
- bcd-template
In Windows Vista, Windows 7, Windows 8, Windows 8.1 und Windows 10 befinden sich die Registrierungsdateien im Verzeichnis \Windows\system32\config und haben die gleichen Namen, aber diese Betriebssysteme haben einen neuen Registrierungsabschnitt zum Speichern von Boot-Konfigurationsdaten mit dem Namen BCD00000000 hinzugefügt.
Die Datendatei für diese Partition heißt bcd und befindet sich im versteckten Boot-Ordner der aktiven Partition (die Partition, von der das System gebootet wird).
Normalerweise wird bei einer Standard-Windows-Installation eine kleine aktive Partition erstellt (100 bis 500 Megabyte je nach Betriebssystem), die für den Benutzer unsichtbar ist und nur Dienstdaten für das Booten des Systems enthält – Boot-Records, Boot-Manager bootmgr, Boot-Konfigurations-Speicher BCD, Lokalisierungsdateien und Speichertestprogramme
Der Speicherort des bcd-Heaps hängt davon ab, wie der System-Bootloader bei der Installation des Systems konfiguriert wurde, und kann sich auf derselben Partition wie das Windows-Verzeichnis befinden.
Der Speicherort der Registrierungsdateien kann in jeder Windows-Version mit dem Registrierungseditor unter eingesehen werden:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
In diesem Abschnitt werden Informationen zu allen Clustern, einschließlich Benutzerprofilen, mit Verweisen auf ihren Speicherort im Windows-Dateisystem gespeichert.
Struktur des Registers
Die Windows-Registrierung hat eine Baumstruktur und besteht aus 5 Hauptabschnitten der Registrierung:
HKEY_LOCAL_MACHINE (HKLM) ist der größte Bereich der Registrierung. Er enthält alle grundlegenden Einstellungen des Betriebssystems sowie der Computerhard- und -software. Die in diesem Abschnitt enthaltenen Informationen gelten für alle Benutzer, die sich am System anmelden.
HKEY_ CLASSES_ ROOT (HKCR) – enthält Verknüpfungen zwischen Anwendungen und Dateitypen (nach Dateierweiterung). Darüber hinaus enthält dieser Abschnitt Informationen über registrierte Dateitypen und COM- und ActiveX-Objekte. Zusätzlich zu HKEY_ CLASSES_ ROOT werden diese Informationen auch in HKEY_LOCAL_MACHINE und HKEY_CURRENT_USER gespeichert.
Der Abschnitt HKEY_LOCAL_MACHINE/\Software/\Classes enthält Standardeinstellungen, die für alle Benutzer auf dem lokalen Computer gelten. Die in HKEY_CURRENT_USER\Software\Classes enthaltenen Einstellungen setzen die Standardeinstellungen außer Kraft und gelten nur für den aktuellen Benutzer. Der Abschnitt HKEY_CLASSES_ROOT enthält Daten aus beiden Quellen.
HKEY_USERS (HKU) – enthält Umgebungseinstellungen für jedes der geladenen Benutzerprofile sowie für das Standardprofil. HKEY_USERS enthält einen Unterabschnitt \Default sowie weitere Unterabschnitte, die durch die Sicherheits-ID (Security ID, SID) der einzelnen Benutzer definiert sind.
HKEY_CURRENT USER (HKCU) – enthält Umgebungseinstellungen für den aktuell angemeldeten Benutzer (Umgebungsvariablen, Desktop-Einstellungen, Netzwerkeinstellungen, Anwendungen und angeschlossene Geräte).
Dieser Abschnitt dupliziert die Informationen in HKEY_USERS\\user SID, wobei user SID die Sicherheitskennung des derzeit im System registrierten Benutzers ist (Sie können die SID des aktuellen Benutzers herausfinden, indem Sie whoami /user in die Befehlszeile eingeben).
HKEY_CURRENT_ CONFIG (HKCC) – enthält Einstellungen für das aktuelle Hardwareprofil. Das aktuelle Hardwareprofil enthält Sätze von Änderungen, die an der Standardgerätekonfiguration vorgenommen wurden, die in den Unterabschnitten Software und System des Stammabschnitts HKEY LOCAL_MACHINE angegeben sind.
Nur Änderungen werden in HKEY_CURRENT_CONFIG wiedergegeben. Darüber hinaus können die Informationen in diesem Abschnitt in HKEY_LOCAL_MACHINE\System\CurrentControlSet\ HardwareProfiles\Current gefunden werden.
Die Daten in der Registrierung werden in Form von Parametern gespeichert, die sich in Registrierungsschlüsseln befinden. Jeder Parameter ist durch Name, Datentyp und Wert gekennzeichnet.
Wichtigste Datentypen in der Registratur
REG_DWORD ist eine 32-Bit-Zahl. Dieser Datentyp wird von vielen Gerätetreibern und Dienstparametern verwendet. Registrierungseditoren können diese Daten im binären, hexadezimalen und dezimalen Format anzeigen.
REG_SZ – Eine Textzeichenfolge in einem für Menschen lesbaren Format. Diesem Datentyp werden in der Regel Werte zugewiesen, die Komponentenbeschreibungen darstellen.
REG_EXPAND_SZ – Erweiterbarer Datenstring. Diese Zeichenkette ist ein Text, der eine Variable enthält, die ersetzt werden kann, wenn sie von der Anwendungsseite aus aufgerufen wird, z. B. zur Aufzeichnung von Umgebungsvariablen.
REG_MULTI_SZ – Mehrzeiliges Feld. Werte, die eigentlich Listen von Textstrings in einem für Menschen lesbaren Format sind, haben normalerweise diesen Datentyp. Die Zeichenketten werden durch das NULL-Zeichen getrennt.
REG_BINARY – Binäre Daten. Die meisten Hardwarekomponenten verwenden Informationen, die als Binärdaten gespeichert sind. Registry-Editoren zeigen diese Informationen im Hexadezimalformat an.
REG_RESOURCE_LIST – Liste der Hardware-Ressourcen. Gilt nur für den Zweig HKEY_LOCAL_MACHINE\HARDWARE.
Manchmal werden auch diese Arten von Registrierungsdaten angezeigt:
- REG_RESOURCE_ REQUIREMENTS_LIST – Liste der erforderlichen Hardwareressourcen. Gilt nur für den Zweig HKEY_LOCAL_MACHINE\HARDWARE.
- REG_FULL_RESOURCE_ DESCRIPTOR – Hardware-Ressourcen-Deskriptor. Gilt nur für den Zweig HKEY_LOCAL_MACHINE\HARDWARE.
- REG_LINK – Symbolischer Unicode-Link. Dieser Datentyp ist interessant, weil er es einem Registrierungselement ermöglicht, auf einen anderen Schlüssel oder Parameter zu verweisen.
- REG_QWORD – 64-Bit-Zahl.
- REG_DWORD_ LITTLE_ENDIAN ist eine 32-Bit-Zahl im „Little-Endian“-Format, äquivalent zu REG_DWORD.
- REG_DWORD_BIG_ ENDIAN – 32-Bit-Zahl im Big-Endian-Format.
- REG_QWORD_LITTLE_ ENDIAN – 64-Bit-Zahl im „sharp-endian“-Format. Äquivalent zu REG_QWORD.
- REG_NONE – Parameter hat keinen definierten Datentyp.
Interaktion der Registrierung mit dem Betriebssystem
Wenn Sie Ihren Computer starten, legt der Hardware-Erkenner eine Liste der erkannten Geräte in der Registrierung ab. Normalerweise wird die Hardware-Erkennung von Ntdetect.com und dem Betriebssystem-Kernel Ntoskrnl.exe durchgeführt.
Beim Systemstart ruft der Systemkernel Informationen über die zu ladenden Gerätetreiber und die Reihenfolge, in der sie geladen werden, aus der Registrierung ab. Außerdem sendet das Programm Ntoskrnl.exe Informationen über sich selbst (z. B. die Versionsnummer) an die Registrierung.
Während des Systemstartvorgangs übermitteln die Gerätetreiber Boot-Parameter und Konfigurationsdaten an die Registrierung. Der Gerätetreiber meldet die von ihm verwendeten Systemressourcen, einschließlich Hardware-Interrupts (IRQ) und Speicherzugriffskanäle (DMA), so dass das System diese Daten in die Registrierung aufnehmen kann.
In der Registrierung können Sie übrigens mehrere Hardwareprofile erstellen. Ein Hardwareprofil ist eine Reihe von Anweisungen, mit denen dem Betriebssystem mitgeteilt werden kann, welche Gerätetreiber beim Starten des Computers geladen werden sollen. Standardmäßig erstellt das System ein Standard-Hardwareprofil, das Informationen über alle auf dem Computer erkannte Hardware enthält.
Wenn sich ein Benutzer anmeldet, werden die Benutzerprofile geladen. Alle Informationen, die sich auf einen bestimmten Benutzernamen und die damit verbundenen Rechte beziehen, werden in der Registry gespeichert. Ein Benutzerprofil definiert individuelle Systemeinstellungen (Anzeigeauflösung, Netzwerkverbindungseinstellungen, angeschlossene Geräte und mehr). Informationen über Benutzerprofile werden ebenfalls in der Registrierung gespeichert.
Bei der Installation von Anwendungen. Jedes Mal, wenn das Installationsprogramm ausgeführt wird, werden der Registrierung neue Konfigurationsdaten hinzugefügt. Alle Installationsprogramme müssen ihre Arbeit mit dem Lesen von Informationen aus der Registrierung beginnen, um festzustellen, ob die benötigten Komponenten auf dem System vorhanden sind. Darüber hinaus ermöglicht die Systemregistrierung den Anwendungen, Konfigurationsinformationen auszutauschen, was ihnen mehr Möglichkeiten zur Interaktion bietet. Eine Anwendung muss die Registry aktiv und korrekt nutzen und in der Lage sein, sie korrekt zu entfernen, ohne dabei Komponenten zu beeinträchtigen, die von anderen Programmen verwendet werden (Bibliotheken, Softwaremodule usw.). Diese Informationen werden ebenfalls in der Registrierung gespeichert.
Bei der Verwaltung des Systems. Wenn ein Benutzer Änderungen an der Systemkonfiguration mit Hilfe von Systemverwaltungswerkzeugen vornimmt (z. B. über die Systemsteuerung oder das MMC-Snap-In), werden die Änderungen sofort in der Systemregistrierung übernommen. Die Verwaltungstools sind in der Tat die bequemste und sicherste Möglichkeit, die Registrierung zu ändern. Übrigens kann auch der Registrierungseditor (regedit.exe) als Verwaltungstool betrachtet werden, da alle Änderungen am System direkt durch Bearbeitung der Registrierung vorgenommen werden können.
Während des Bootens und des Betriebs des Betriebssystems wird ständig auf die Registrierungsdaten zugegriffen, sowohl lesend als auch schreibend. Die Registrierungsdateien ändern sich ständig, da nicht nur das System, sondern auch einzelne Anwendungen die Registrierung nutzen können, um ihre eigenen Daten, Einstellungen und Präferenzen zu speichern. Mit anderen Worten: Der Zugriff auf die Registrierung ist eine der häufigsten Operationen. Selbst wenn der Benutzer nicht am Computer arbeitet, werden Zugriffe auf die Registrierung von Systemdiensten, Treibern und Anwendungen durchgeführt.
Die Verletzung der Integrität der Registrierungsdateien (Verletzung der Datenstruktur) oder falsche Werte einiger kritischer Parameter können zu einem Systemabsturz führen. Vergewissern Sie sich daher, bevor Sie mit der Registrierung experimentieren, dass diese gesichert und wiederhergestellt werden kann.