Kapitel 1: Aufbau der Windows-Registry
Einführung in die Windows-Registry
Die Windows-Registry stellt das zentrale Nervensystem des Microsoft Windows-Betriebssystems dar. Sie fungiert als hierarchische Datenbank, die sämtliche Konfigurationsinformationen für das Betriebssystem, installierte Anwendungen und Benutzereinstellungen speichert. Für IT-Profis und Systemadministratoren ist ein fundiertes Verständnis der Registry-Struktur unerlässlich, da sie direkten Einfluss auf die Systemstabilität, Sicherheit und Performance hat.
Die Registry entwickelte sich aus der Notwendigkeit heraus, die zuvor verwendeten INI-Dateien durch ein zentralisiertes System zu ersetzen. Während INI-Dateien in verschiedenen Verzeichnissen verstreut waren und Inkonsistenzen verursachen konnten, bietet die Registry eine einheitliche Schnittstelle für alle Systemkonfigurationen.
Historische Entwicklung und Bedeutung
Die Registry wurde erstmals mit Windows 3.1 eingeführt und hat sich seitdem kontinuierlich weiterentwickelt. In modernen Windows-Versionen enthält sie Millionen von Einträgen, die von kritischen Systemkomponenten bis hin zu individuellen Anwendungseinstellungen reichen. Diese zentrale Datenhaltung ermöglicht es dem Betriebssystem, schnell auf Konfigurationsinformationen zuzugreifen und gleichzeitig eine konsistente Verwaltung zu gewährleisten.
Hierarchische Struktur der Registry
Die Windows-Registry folgt einer streng hierarchischen Baumstruktur, ähnlich einem Dateisystem. Diese Struktur beginnt mit den Hauptschlüsseln (Root Keys) und verzweigt sich in Unterschlüssel, die wiederum weitere Unterschlüssel und Werte enthalten können.
Registry-Hauptschlüssel (Root Keys)
Die Registry gliedert sich in fünf Hauptbereiche, die als Stammschlüssel oder Root Keys bezeichnet werden:
Hauptschlüssel
Abkürzung
Beschreibung
HKEY_LOCAL_MACHINE
HKLM
Systemweite Einstellungen und Konfigurationen
HKEY_CURRENT_USER
HKCU
Benutzerspezifische Einstellungen des aktuell angemeldeten Users
HKEY_USERS
HKU
Profile aller Benutzer auf dem System
HKEY_CURRENT_CONFIG
HKCC
Aktuelle Hardware-Konfiguration
HKEY_CLASSES_ROOT
HKCR
Dateierweiterungen und COM-Objektregistrierungen
HKEY_LOCAL_MACHINE (HKLM)
HKEY_LOCAL_MACHINE repräsentiert den wichtigsten Bereich der Registry für Systemadministratoren. Hier werden alle systemweiten Einstellungen gespeichert, die unabhängig vom angemeldeten Benutzer gelten. Die wichtigsten Unterschlüssel umfassen:
HKLMSYSTEM: Enthält Informationen über Hardware-Konfiguration, Gerätetreiber und Systemdienste. Dieser Bereich wird während des Bootvorgangs geladen und ist für die grundlegende Systemfunktionalität verantwortlich.
HKLMSOFTWARE: Speichert Konfigurationsdaten für installierte Anwendungen, die systemweit verfügbar sind. Hier finden sich auch wichtige Windows-Komponenten wie Internet Explorer, Windows Update und Systemdienste.
HKLMHARDWARE: Wird dynamisch beim Systemstart erstellt und enthält Informationen über die erkannte Hardware. Diese Daten werden nicht permanent gespeichert, sondern bei jedem Neustart neu generiert.
HKLMSAM: Der Security Account Manager speichert lokale Benutzerkonten und Gruppenmitgliedschaften. Dieser Bereich ist hochsensibel und normalerweise für normale Benutzer nicht zugänglich.
HKLMSECURITY: Enthält systemweite Sicherheitsrichtlinien und Berechtigungen. Ähnlich wie SAM ist dieser Bereich stark geschützt.
HKEY_CURRENT_USER (HKCU)
HKEY_CURRENT_USER stellt eine dynamische Ansicht auf das Profil des aktuell angemeldeten Benutzers dar. Tatsächlich handelt es sich um eine Verknüpfung zu einem Unterschlüssel in HKEY_USERS. Die wichtigsten Bereiche umfassen:
HKCUSoftware: Benutzerspezifische Anwendungseinstellungen, die nur für den aktuellen Benutzer gelten.
HKCUControl Panel: Desktop-Einstellungen, Bildschirmschoner, regionale Einstellungen und andere Benutzeroberflächen-Konfigurationen.
HKCUEnvironment: Umgebungsvariablen, die spezifisch für den aktuellen Benutzer definiert sind.
HKEY_USERS (HKU)
HKEY_USERS enthält die Konfigurationsdaten aller Benutzerprofile auf dem System. Jeder Benutzer wird durch seine Sicherheits-ID (SID) identifiziert. Die Struktur umfasst:
- Aktive Benutzerprofile (geladene Hives) - Standard-Benutzerprofil (.DEFAULT) - Temporäre Profile für Systemdienste
HKEY_CURRENT_CONFIG (HKCC)
HKEY_CURRENT_CONFIG stellt eine Verknüpfung zu den aktuellen Hardware-Profil-Informationen dar. Diese werden hauptsächlich für Laptops und mobile Geräte verwendet, die zwischen verschiedenen Hardware-Konfigurationen wechseln können.
HKEY_CLASSES_ROOT (HKCR)
HKEY_CLASSES_ROOT vereint Informationen aus HKLMSOFTWAREClasses und HKCUSOFTWAREClasses. Hier werden Dateierweiterungen, MIME-Typen, COM-Objekte und Anwendungsverknüpfungen verwaltet.
Physische Speicherung der Registry
Die Registry-Daten werden nicht in einer einzigen Datei gespeichert, sondern in mehreren separaten Dateien, die als Hives bezeichnet werden. Diese Hives befinden sich hauptsächlich im Verzeichnis %SystemRoot%\System32\config\.
Registry-Hives im Detail
Hive-Datei
Registry-Pfad
Beschreibung
SYSTEM
HKLM\SYSTEM
Systemkonfiguration und Hardware-Informationen
SOFTWARE
HKLM\SOFTWARE
Installierte Software und Systemkomponenten
SAM
HKLM\SAM
Lokale Benutzerkonten und Gruppen
SECURITY
HKLM\SECURITY
Sicherheitsrichtlinien und Berechtigungen
DEFAULT
HKU\.DEFAULT
Standard-Benutzerprofil
NTUSER.DAT
HKCU
Benutzerspezifische Einstellungen
Backup- und Wiederherstellungsmechanismen
Windows erstellt automatisch Backups der Registry-Hives. Diese werden in verschiedenen Formen gespeichert:
Transaction Logs: Für jeden Hive existieren entsprechende .LOG-Dateien, die Änderungen protokollieren und bei Systemfehlern eine Wiederherstellung ermöglichen.
RegBack-Ordner: Windows erstellt regelmäßig Kopien der wichtigsten Registry-Hives im Verzeichnis %SystemRoot%\System32\config\RegBack\.
Systemwiederherstellung: Erstellt Snapshots der Registry als Teil der Wiederherstellungspunkte.
Registry-Datentypen
Die Registry unterstützt verschiedene Datentypen, die für unterschiedliche Arten von Konfigurationsdaten optimiert sind:
Grundlegende Datentypen
Datentyp
PowerShell-Bezeichnung
Beschreibung
Verwendung
REG_SZ
String
Einfacher Textstring
Namen, Pfade, einfache Konfigurationswerte
REG_EXPAND_SZ
ExpandString
String mit Umgebungsvariablen
Pfade mit %SystemRoot%, %UserProfile%
REG_DWORD
DWord
32-Bit-Ganzzahl
Numerische Einstellungen, Boolean-Werte
REG_QWORD
QWord
64-Bit-Ganzzahl
Große numerische Werte, Zeitstempel
REG_BINARY
Binary
Binäre Daten
Hardware-Konfigurationen, verschlüsselte Daten
REG_MULTI_SZ
MultiString
Array von Strings
Listen, mehrere Werte
Erweiterte Datentypen
REG_RESOURCE_LIST: Speichert Hardware-Ressourcenlisten für Gerätetreiber.
REG_FULL_RESOURCE_DESCRIPTOR: Detaillierte Hardware-Beschreibungen.
REG_RESOURCE_REQUIREMENTS_LIST: Anforderungen für Hardware-Ressourcen.
PowerShell Registry Provider
PowerShell bietet einen integrierten Registry Provider, der den Zugriff auf die Registry über bekannte Cmdlets ermöglicht. Dieser Provider behandelt die Registry wie ein Dateisystem, wodurch Navigation und Manipulation intuitiv werden.
Registry-Laufwerke in PowerShell
PowerShell mappt die wichtigsten Registry-Hauptschlüssel auf virtuelle Laufwerke:
# Verfügbare Registry-Laufwerke anzeigen
Get-PSDrive -PSProvider Registry
Ausgabe:
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ...