Kommentare 1

Windows-Server-Befehle aus der Nähe betrachtet: bcdedit

Unser Autor, der Windows-Experte, Consultant und IT-Architekt Helge Klein erläutert in loser Folge interessante Windows-Server-Befehle. Heute: bcdedit.

„Früher war das alles einfacher!“ Dieser Stoßseufzer trifft insbesondere auf die IT mit ihrer rasant wachsenden Komplexität zu. Wo früher einfache Textdateien zur Datenablage verwendet wurden, müssen es heute ganze Datenbanken sein, so auch bei unserem heutigem Thema: dem Nachfolger der allseits bekannten Datei „Boot.ini“.
Bis einschließlich Windows XP wurde die Startkonfiguration eines Windows-Computers in einer einfachen Textdatei names „Boot.ini“ festgehalten. Gelegentlich waren daran Änderungen vorzunehmen, beispielsweise auf Systemen mit mehreren installierten Betriebssystemen, und das ging dank des Textformates auch recht leicht von der Hand. Seit Vista nützt das althergebrachte Wissen um Boot.ini-Geheimnisse jedoch nichts mehr – gefragt sind Kenntnisse der „Boot Configuration Database“, oder kurz BCD. Dort speichern nämlich moderne Windows-Versionen die Info, wie von welcher Festplatte zu starten ist.

Für Modifikationen reicht nun ein Texteditor nicht mehr aus, vielmehr wird das Kommandozeilen-Tool bcdedit benötigt. Wer es zum ersten Mal bedient, wird den Umgang mit dem kryptischen Tool vermutlich als gewöhnungsbedürftig empfinden. Mir erging es aber auch schon vor vielen Jahren so, als ich zum ersten Mal einen ARC-Pfad in einer Boot.ini anpassen musste. Nach einigem Gefummel geht es, und das zweite Mal tut gar nicht mehr so weh. Irgendwann, bei der nächsten Änderung im Betriebssystem, vermisst man das dann liebgewonnene Prozedere. Also auf, solange die BCD noch aktuelle Technologie ist! Probieren geht über studieren, am besten anhand des folgenden Auszugs aus dem Buch Windows-Befehle für Server 2008 & Vista – kurz & gut:

***
bcdedit

Verwaltet den Startkonfigurationsdatenspeicher (BCD Store), der unter Vista/2008 die Datei boot.ini ersetzt. Hier werden aus Platzgründen nur die wichtigsten Optionen vorgestellt. Die generelle Syntax lautet:

bcdedit Befehl [{ID1} [{ID2} […]]] [Optionen]

Die meisten Befehle erwarten IDs von Einträgen im Datenspeicher als Pa­rameter. bcdedit /? id zeigt alle bekannten IDs an, während bcdedit / enum all alle Einträge im Speicher samt ihrer ID (Bezeichner genannt) auf­listet. Einträge, für die keine bekannte ID existiert, werden anhand ihrer GUID angesprochen.

bcdedit {/export | /import} Datei

Exportiert den Inhalt des Datenspeichers in die angegebene Datei bzw. stellt den Datenspeicher daraus wieder her.

bcdedit /copy {ID} /d Beschreibung

Erstellt eine Kopie des durch ID bezeichneten Eintrags und setzt die Be­schreibung für den neuen Eintrag.

bcdedit /create [{ID} | /application {Anwendungstyp}]
/d Beschreibung

Erstellt einen neuen Eintrag, dessen Typ entweder durch Angabe einer be­kannten ID oder durch Spezifikation des Anwendungstyps (bootsector, osloader, resume oder startup) gesetzt wird.

bcdedit /delete {ID} [/f]

Löscht einen Eintrag und entfernt ihn aus der Anzeigereihenfolge. Zum Löschen bekannter IDs muss /f angegeben werden.

bcdedit /deletevalue [{ID}] Datentyp

Löscht einen Wert eines Eintrags im Datenspeicher. Ohne Angabe von ID wird {current} verwendet. Eine Liste der Datentypen erhalten Sie mit bc­dedit /? types.

bcdedit /set [{ID}] Datentyp Wert

Setzt einen Wert eines Eintrags im Datenspeicher. Ohne Angabe von ID wird {current} verwendet.

bcdedit /bootsequence {ID1} [{ID2} […]] [/addfirst | / addlast | /remove]

Legt die Startreihenfolge für den nächsten Neustart auf die durch die IDs angegebene Reihenfolge fest. Wenn nur eine einzige ID angegeben wird, kann diese an den Anfang (/addfirst) oder das Ende (/addlast) gesetzt oder ganz entfernt (/remove) werden.

bcdedit /displayorder {ID1} [{ID2} […]] [/addfirst | / addlast | /remove]

Legt die Anzeigereihenfolge des Menüs Multi-Boot fest. Die Optionen ent­sprechen denen des Befehls /bootsequence.

bcdedit /default {ID}

Legt den Standardeintrag fest, der zum Starten verwendet wird, wenn der Timeout abläuft.

bcdedit /timeout Sekunden

Legt die Zeit in Sekunden fest, die in Multi-Boot-Konfigurationen gewartet wird, bevor der Standardeintrag verwendet wird.

bcdedit /hypervisorsettings

Zeigt die Hypervisor-Debuggereinstellungen an oder setzt sie (mit weiteren Parametern).

Beispiele

Die folgende Befehlsfolge schreibt einen Vista-Bootsektor und erstellt dann im Datenspeicher einen Eintrag für ein früheres NT-basiertes Be­triebssystem. Dies kann nötig sein, wenn z.B. Windows XP nach Vista in einer Multi-Boot-Konfiguration installiert wurde. Zum Ausführen dieser Befehle sollte von der Vista-Installations-DVD gestartet werden, auf der sich auch der Befehl bootsect befindet. Im Beispiel wird angenommen, dass die aktive Vista-Partition den Buchstaben C: und das DVD-Laufwerk den Buchstaben E: hat. Für Details siehe den Artikel KB919529 der Know­ledge Base.

E:\boot\bootsect -nt60 all
C:\windows\system32\bcdedit -create {ntldr} -d „Windows XP“
C:\windows\system32\bcdedit -set {ntldr} device partition=C:
C:\windows\system32\bcdedit -set {ntldr} path \ntldr
C:\windows\system32\bcdedit -displayorder {ntldr} -addlast

Sag's weiter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.