Trick 17, um über RDP in den Verzeichnisdienstwiederherstellungs-Modus zu gelangen

Moin, Fabian hier. Die meisten unserer Kunden nutzen Management-Boards oder KVM-Konsolen, über die sie sich auch im ausgeschalteten Zustand des Systems oder während des Boot-Prozesses eines Systems auf den Server verbinden können. Das ist beispielsweise dann sinnvoll, wenn man ein System in den „abgesicherten Modus“ fahren möchte oder etwa für die Verzeichnisdienstwiederherstellung (Directory Services Restore Mode). Hierzu wird dann direkt beim Start des Betriebssystems die Taste „F8“ genutzt, um so die Auswahl herbei zu zaubern.

Nun kommt es jedoch auch vor, daß es nicht möglich ist, sich mittels Remote-Management-Board oder KVM- / IP-Konsolen auf ein System zu verbinden, sondern beispielsweise RDP oder eine andere Remote-Desktop Software genutzt wird – sei es weil der Server ein solches System nicht mitbringt oder weil es technische Schwierigkeiten gibt. Diese läuft dann erst nach dem Start des Betriebssystems bzw. nachdem das Netzwerk für diesen Server verfügbar ist. Liegt das Rechenzentrum im Haus der Administration, kann man im Notfall noch direkt zum System gehen – liegt das Rechenzentrum jedoch weiter weg, kann man hier schnell Probleme bekommen.

Daher sei an dieser Stelle Trick 17 genannt, wie man ggf. die Benzinkosten niedrig halten kann und seine neuen Turnschuhe schont:

Windows Server 2003:
In der Datei „C:\boot.ini“ lassen sich diverse Parameter in Bezug auf den Systemstart setzen. Neben Optionen zur Speichernutzung, der Konfiguration des Bootloaders etc. können hier auch Optionen wie das Starten des Verzeichnisdienstwiederherstellungs-Modus erreicht werden: Hierzu entfernt man den Schreibschutz der versteckten Systemdatei „C:\boot.ini“ und fügt hinter dem gewünschten Starteintrag den Parameter „/safeboot:dsrepair“ ein – sind mehrere Betriebssystem-Installationen auf dem Server vorhanden, gilt es den korrekten Eintrag unterhalb von [operating systems] zu wählen:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /NoExecute=OptOut /safeboot:dsrepair

Alle verfügbaren boot.ini Optionen sind in folgendem KB-Artikel dokumentiert:

833721 Available switch options for the Windows XP and the Windows Server 2003 Boot.ini files
https://support.microsoft.com/default.aspx?scid=kb;EN-US;833721

Alternativ kann man “msconfig” bemühen, womit es unter dem Reiter “BOOT.INI” grafisch möglich ist, die Option „/SAFEBOOT“ + „DSREPAIR“ per Klick zu setzen.

Windows Server 2008:
Unter Windows Server 2008 existiert die „boot.ini“ bzw. der alte Bootloader in der Form nicht mehr, sondern wurde durch die sogenannte „Boot Configuration Data (BCD)“ ersetzt. Daher ist es nicht mehr möglich die boot.ini direkt anzupassen wie unter Windows Server 2003.
Hier kann der BCD-Editor „bcdedit.exe“ genutzt werden, siehe https://technet.microsoft.com/en-us/library/cc709667.aspx. Dazu setzt man in einer CMD mit erweiterten Rechten („elevated CMD“) die entsprechende Option:

C:\> bcdedit /set safeboot dsrepair

Wie auch unter Windows Server 2003 gibt das (leicht veränderte) „msconfig“ ebenfalls die Möglichkeit, die Option zu setzen: msconfig --> Reiter „Boot“ --> „Boot options“ --> „Safe boot“ + „Active Directory repair“

 

Beim Neustart fährt das System nach diesen Änderungen (Windows Server 2003 sowie Windows Server 2008) in den Restore Modus.

Nach den durchgeführten Aktionen in diesem Modus sollte man nicht vergessen, vor dem Neustart den Parameter wieder zu entfernen, sonst startet das System immer wieder im Wiederherstellungs-Modus.

Dazu entfernt man die oben hinzugefügten Parameter unter Windows Server 2003 wieder aus der boot.ini. Zu empfehlen ist ebenfalls, den Schreibschutz danach wieder für die boot.ini zu aktivieren, so daß nicht „aus Versehen“ Änderungen geschrieben werden. Wird „msconfig“ genutzt, sind hier die entsprechenden Klicks durchzuführen.

Unter Windows Server 2008 entfernt die Kommandozeile

C:\> bcdedit /deletevalue safeboot

den Parameter wieder. Auch hier kann wie erwähnt als Ersatz “msconfig” genutzt werden. Spätestens bei der Nutzung eines Windows Server 2008 Core ist die Kommandozeilennutzung jedoch obligatorisch.

Viele Grüße
Fabian