Tags: Windows 7, VHD, Recovery, Windows Server 2008, Troubleshooting
Das Startmenü von Windows 7/2008 wird eigentlich erst dann interessant, wenn irgendetwas nicht funktioniert. Administratoren, die noch auf dem Stand der unter Windows XP/2003 verwendeten Boot-Konfigurationsdatei
boot.ini
sind, müssen ihre Kenntnisse schleunigst auffrischen. Windows Server 2008 R2, Windows 7 und Vista besitzen im Wurzelverzeichnis keine Datei NTLDR
mehr, die in den vorigen Versionen die boot.ini
gelesen und ausgewertet hat. Folglich ignorieren sie eine vorhandene boot.ini
, egal was darin verzeichnet sein mag.
Microsoft hat im deutschsprachigen TechNet eine Befehlsreferenz für bcdedit
hinterlegt, die jede der einzelnen Optionen erklärt.
BCD-Speicher, Objekte und Elemente
Was etwas zu kurz darin kommt, ist die Erläuterung der grundsätzlichen Funktionsweise und der Ablage der Daten. Statt in der Klartext-Datei boot.ini
befindet sich die Boot-Information in der Datei \Boot\BCD
der aktiven Partition, also meist nicht der Windows- sondern der versteckten reservierten System-Partition, die bei der Installation von Windows eingerichtet wurde.
Ähnlich wie in der Registry sind die bootbaren, in diesem Speicher registrierten Systeme als Datenbank-Struktur abgelegt. Microsoft spricht folglich nicht mehr von Zeilen oder Einträgen, sondern von Objekten und Elementen in diesem Speicher. Um ihn zu bearbeiten, muss man die System-Partition nicht sichtbar machen oder ihr einen Laufwerksbuchstaben verpassen.
Ein gestartetes Windows „weiß“, wo sich sein Boot-Speicher befindet, und das zu dessen Bearbeitung bereitgestellte Dienstprogramm bcdedit
bearbeitet diesen auch direkt auf der versteckten Partition. Das trifft auch auf eine im Falle eines nicht mehr startenden Windows gebootete WinRE-Umgebung zu, sobald man in dieser die zu reparierende Windows-Installation ausgewählt hat.
Daneben kann man mit /createstore
noch beliebige weitere Speicher („Stores“) erstellen und dort Systeme an- oder abmelden oder konfigurieren. Wirksam werden diese nicht – Windows richtet sich (noch) immer nach der aktiven Partition. Man kann jedoch die Daten aus einem solchen Nicht-System-Speicher exportieren und, etwa auf einem anderen System, in dessen Systemspeicher importieren.
Bootmenü mit bcdedit bearbeiten
Bcdedit führt man immer innerhalb einer Eingabeaufforderung mit Administratorrechten aus. Tippt man es ohne oder nur mit der Option /enum
ein, zeigt es die gegenwärtig zum Booten konfigurieren Systeme. Die TechNet-Referenz ist ein wenig knapp darüber, wie etwa das Hinzufügen eines weiteren Systems manuell konkret vonstatten geht.
Schneller weiter kommt man mit der exzessiven Angabe der Option /?
, die jede papierne Dokumentation gut zu ersetzen vermag. Per bcdedit /?
erfährt man, dass für das Hinzufügen beliebiger Objekte die Option /create
zuständig ist, mit bcdedit /? create
alle Optionen hierfür. bcdedit /? types
und bcdedit /? formats
gibt außerdem eine Übersicht über alle verwendbaren Optionen und deren Werte.
Damit kommt man im Prinzip schon durch alle Arbeitsschritte; ein wichtiges Prinzip muss man noch wissen: Bcdedit gibt bei der Erstellung von Einträgen jeweils eine GUID in geschweiften Klammern zurück. Diese gibt man bei allen Bearbeitungsbefehlen als ersten Parameter an, um jeweils zu spezifizieren, welcher Eintrag modifiziert werden soll. Anders als etwa
diskpart
, wo man erst den Fokus auf ein Objekt setzt, dann dort einen oder mehrere Bearbeitungsschritte ausführt und das Programm mit exit
verlässt, kehrt bcdedit
immer sofort auf den Prompt zurück, nachdem es die Aktion an dem so spezifizierten Eintrag durchgeführt hat. Beim Auflisten aller vorhandenen Einträge mittels /enum
erfährt man alle GUIDs der gegenwärtig im Speicher vorhandenen Objekte. Das gerade gestartete System kann statt mit der numerischen ID auch mit {current}
angesprochen werden, das voreingestellte auch mit {default}
.
bcdedit-Beispiel: Boot-Eintrag löschen
Mit Hilfe der GUID ist es eine einfache Übung, einen nicht mehr benötigten Boot-Eintrag zu löschen, etwa auf einer nicht mehr vorhandenen Partition. Mittels
bcdedit /enum
ermittelt man die GUID des überflüssigen Eintrages, kopiert sie in die Zwischenablage und löscht ihn mit
bcdedit /delete {GUID}
fertig.
bcdedit-Beispiel: Booten von VHD
Um eine bootfähige VHD ins Startmenü einzubinden, verwendet man nicht /create, um einen neuen Startmenü-Eintrag komplett konfigurieren zu müssen, sondern kopiert den von Windows selbst:
bcdedit /copy {default} /d "VHD-Boot"
(GUID wird ausgegeben, in die Zwischenablage kopieren)
bcdedit /set {GUID} device vhd=[c:]\VHDs\Zweitsystem.vhd
bcdedit /set {GUID} osdevice vhd=[c:]\VHDs\Zweitsystem.vhd
Die Pfade und Dateinamen sind Beispiele, die Laufwerksangabe allerdings muss in die eckigen Klammern. Laut Microsoft ist man auf der sicheren Seite, per
bcdedit /set {guid} detecthal on
noch die HAL-Erkennung für den VHD-Boot einzuschalten, und mit
bcdedit /default {GUID}
kann man das VHD-System zur Voreinstellung beim Start machen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- EasyBCD statt bcdedit: Boot-Menü mit kostenlosem GUI-Tool bearbeiten
- Bootsektor und MBR reparieren unter Windows 7 und Windows Server 2008 (R2)
- Wenn der PC nicht startet: Das Windows Recovery Environment (WinRE)
- Windows reparieren mit SystemRescue: Partitionen wiederherstellen, Dateien kopieren, Passwörter zurücksetzen
- Microsoft bringt SHA-2-Patch für Windows 7 und WSUS 3.0 SP2, Installation erforderlich
Weitere Links
10 Kommentare
Ein sehr interessanter Artikel, beschäftige mich erst seit kurzem mit den neuen Technologien von Microsoft. Vor allem interessiert mich im moment die Möglichkeit einen mit disk2vhd erstelltes Abbild eines Windows 2003 Small Business Servers auf einer Windows 2008 R2 mit HyperV installierten Umgebung zum Laufen zu bringen, derzeitiges Problem: Die Maschine findet keinen Bootsektor. Kann mir jemand helfen?
Dieser Artikel hilft leider nur Profis. Für PC Laien ist er vollkommen unverständlich geschrieben. Schade, ich hatte mir hier Hilfe erhofft, die ich nicht bekommen habe.
Es gibt Dinge, dafür sollte man nicht Laie sein, um sie in Angriff zu nehmen.
Artikel sollten exakt und erschöpfend (wie hier) sein.
Am besten noch weiterführende Verweise (wie hier) - ja und vielleicht tasächlich auch noch Empfehlungen für Laien, wie diese das Problem lösen, oder sich schlau machen können... oder ein "tool" finden, was "alles automatisch" macht (so wie es denn halt will)
Brauchbare Infos in diesem Artikel. Danke.
Erstmal stellt sich die Frage, wer ist Fachmann und wer Laie.
Wenn ein Fachmann bei studierten Informatiker anfängt, dann bin ich hier falsch. Mir erscheint der Artikel wie die Vorlesung eines Profs, die kaum einer versteht. Was hier fehlt, ist ein Beispiel; also das was an der Uni der Assi zufügt um die Vorlesung verständlich zu machen.
Danke hat geholfen...
Hier braucht man kein Studium und keine Ausbildung um den Beitrag zu verstehen. Einfach www.google.de nutzen und da offene Fragen nachblättern. ( oder wiki )
Hallo,
der Artikel ist schon hilfreich.
Aber: nach Konfiguration Bootmenü, wie unten angefügt, bekomme ich beim Start des Rechners schön beide Windows (7 und XP) zur Auswahl angezeigt. Wenn ich aber XP auswähle, kommt Fehler:
winload.exe fehlt oder ist fehlerhaft. XP läuft einwandfrei, wenn ich es aus dem virt. PC heraus starte.
Kann jemand sagen, was noch zu tun ist ? Hängt es evtl. damit zusammen, dass beide Windows auf die gleiche winload zugreifen ?
Anhang: Ergebnis bcdedit
Windows-Start-Manager
---------------------
Bezeichner {bootmgr}
device partition=\Device\HarddiskVolume1
description Windows Boot Manager
locale de-DE
inherit {globalsettings}
default {default}
resumeobject {a5982740-2a2e-11e1-87a0-8b167214d1bf}
displayorder {default}
{current}
toolsdisplayorder {memdiag}
timeout 4294967295
displaybootmenu Yes
Windows-Startladeprogramm
-------------------------
Bezeichner {default}
device vhd=[C:]\users\dcamcut\appdata\local\microsoft\windows v
irtual pc\virtuelle computer\windows xp.vhd
path \Windows\system32\winload.exe
description Windows XP
locale en-US
osdevice vhd=[C:]\users\dcamcut\appdata\local\microsoft\windows v
irtual pc\virtuelle computer\windows xp.vhd
systemroot \Windows
detecthal Yes
Windows-Startladeprogramm
-------------------------
Bezeichner {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale de-DE
inherit {bootloadersettings}
recoverysequence {a5982742-2a2e-11e1-87a0-8b167214d1bf}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {a5982740-2a2e-11e1-87a0-8b167214d1bf}
nx OptIn
C:\>
Hallo,
ein auf einer blanken Platte neuinstalliertes WIndows 7 läuft, nach dem ersten Updaten (190 Stück) nicht mehr - es läuft nicht mehr hoch.
Offensichtlich wurde ein neuer Kernel installiert und das Bootmenü neu gebaut - scanos zeigt aber 0 Installationen an. Dh., der Bootmgr findet nichts und bleibt einfach stehen. Aktiviert man die Windows Partition, wird die Installation gefunden - dann kommt allerdings die Fehlermeldung beim starten, dass er den bootmgr nicht findet.
Es ist zum verzweifeln ...
Gruß Bobbin
Halo
meine Frage betrifft ein Problem zur "Current Password"
Ich habe ein gebrauchtes ACER ICONIA W510 erworben.
Nach mehrfacher Aufforderung habe ich Windows 10 (Home) und musste feststellen dass das System enorm langsam geworden ist.
Eine Wiederherstellung auf 8.1 aus der Windows Umgebung funktioniert leider nicht mehr.
Ich habe noch die 4 Recovery CD´s, diese kann ich nur durch Booten vom USB aufspielen.
Um die Boot Reihenfolge umzustellen, muss ich ins BIOS leider öffnet sich beim Betätigen der F2 Taste ein Eingabefenster "Enter Current Password".
Mir liegt aber kein Supervisor-Kennwort vor, was auch das umstellen der Boot Reihenfolge unmöglich macht.
Jetzt habe ich ein langsamen Rechner mit originalen Recovery Datenträgern, und kann das System dennoch nicht neu aufsetzten.
Hätten Sie für mich eine Lösung, oder die Info wie ich von USB booten kann ohne dem Current Password z.B. unter Verwendung von "bcdeit" um die Bootreihenfolge auf USB umzustellen.
Im Voraus, vielen Dank.
Gruß
Peter
Schade - der Verfasser(Kroschel) beschreibt etwas, das man je nach Bildung mehr oder weniger versteht, Beispiele fehlen. Man kann kommentieren, fragen? - es gibt keine oder wenige Antworten, schlicht, niemand kuemmert sich - Schade. Ist wohl versteckte Werbung - Schade.