Wie kann man BCDEdit für Dual-Boot-Windows-Installationen verwenden?
Welche bcdedit
Befehle sind erforderlich, um Dual-Boot zwischen verschiedenen Windows-Installationen einzurichten?5
Hintergrund
Ich habe kürzlich Windows 8 auf einer separaten Festplatte1 installiert. Jetzt, wo Windows 8 installiert ist, möchte ich ein Dual-Boot zurück zu Windows 7 durchführen.
Ich habe meine zwei2 Festplatten:
C:\WINDOWS\system32>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
description Windows Boot Manager
locale en-US
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.exe
description Windows 8
locale en-US
inherit {bootloadersettings}
recoverysequence {ce153eb9-3786-11e2-87c0-e740e123299f}
integrityservices Enable
recoveryenabled Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
Sie können also sehen, dass ich meine zwei Festplatten mit den Partitionen habe, die Windows enthalten:
- Windows 7 :
\PhysicalDisk0
(Partition 03) - Windows 8 :
\PhysicalDisk2
(Partition 1)
Was ich herauszufinden versuche, ist, wie ich bcdedit
benutzen kann, um das Ding, das Windows bootet, zu instruieren, dass es eine andere Windows-Installation da draußen gibt.
Wenn ich bcdedit
jetzt ausführe, zeigt es die aktuelle Konfiguration an:
>bcdedit /create /d "The old Windows 7" /application osloader
Ich kann keine Dokumentation über den Unterschied zwischen Windows Boot Manager und Windows Boot Loader finden.
Dokumentation
Es gibt einige Dokumentation auf Bcdedit
:
- Technet: Command Line Reference - Bcdedit
- Technet: Windows Automated Installation Kit - BCDEdit Command Line Options
- Whitepaper - BCDEdit Commands for Boot Environment (Word Document)
Aber sie erklären nicht, wie man die binären Boot-Konfigurationsdaten bearbeitet.
Wenn ich raten müsste, würde ich denken, dass ein Windows Boot Manager das BIOS instruiert, welches Programm es ausführen soll. Dieses Programm würde dem Benutzer eine Reihe von Boot-Auswahlmöglichkeiten geben. Damit bleibt Windows Boot Loader eine bestimmte Bootauswahl, die eine bestimmte Windows-Installation repräsentiert.
Wenn das der Fall ist, müsste ich einen neuen Windows Boot Loader Eintrag erstellen.
Das bedeutet, dass ich möglicherweise den Parameter /create
verwenden möchte:
/create
Erstellt einen neuen Booteintrag:
bcdedit [/ store filename] / create [id] / d description [/ application apptype | / inherit [apptype] | / inherit DEVICE | / device ]
Ich gehe also von einer Syntax von:
Apptype Description
BOOTSECTOR The boot sector application
OSLOADER The Windows boot loader
RESUME A resume application
Wobei application
einer der folgenden Typen sein kann:
>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"
Unglücklicherweise ist die einzige Dokumentation über osloader
“The Windows boot loader”. Ich verstehe nicht, wie das zwischen Windows 8 auf einer Festplatte und Windows 7 auf einer anderen unterscheiden kann.
Der andere mögliche Parameter, wenn /create
ein Bootloader ist, ist
Leider fehlt die Dokumentation für /device
:
/device
Optional. Wenn id nicht auf einen bekannten Bezeichner gesetzt ist, die Option, die verwendet wird, um den neuen Booteintrag als zusätzlichen Eintrag für die Geräteoptionen anzugeben.
Da ich id
nicht auf einen bekannten Bezeichner gesetzt habe, muss ich /device auf “die Option, die verwendet wird, um den neuen Booteintrag als einen zusätzlichen Geräteoptionseintrag anzugeben” setzen. Ich kenne all diese Wörter; sie sind alle englisch. Aber ich habe keine Ahnung, was es bedeutet; diese Wörter in dieser Reihenfolge scheinen unsinnig zu sein.
Ich bin also etwas ratlos. Ich möchte nicht so sein wie Dan Stolts von Microsoft, der seine Festplatten beim Versuch, BCDEdit zu benutzen, zerstört hat :
Ich habe keinen Inhalt gefunden, der besonders hilfreich war, als ich meinen Rechner durch das Spielen mit BCDEdit kaputt gemacht habe. Dieser Beitrag wäre ok gewesen, wenn es viel mehr Details gegeben hätte, vor allem über den /set-Befehl OSDevice, etc. Nachdem ich also meinen Rechner repariert hatte, habe ich die Lösung dokumentiert und die Informationen sind hier… .
Ich meine, wenn ein Microsoft-Typ nicht einmal herausfinden kann, wie man BCDEdit benutzt, um seine BCD zu bearbeiten, welche Chance habe ich dann?
Bonus Reading
- BCDEdit Command-Line Options
- Bcdedit
- Server 2008 R2 or Windows 7 System Will NOT Boot After Making Changes To Boot Manager Using BCDEdit
- Visual BCD Editor 4
- Windows 7 and Windows 8 RTM Dual Boot Setup
Footnotes
- 1 Da der Windows 8 Installer meine Windows 7 Installation beschädigt hätte, entschied ich mich, meine “Haupt” Festplatte während der Installation auszustecken. Das ist eine langatmige Erklärung dafür, warum das Windows-8-Installationsprogramm die vorhandene Windows-7-Installation nicht erkannt hat. Normalerweise hätte das Installationsprogramm die erforderlichen Einträge für Dual-Boot automatisch erstellt. Nicht dass der Grund, warum ich die Frage stelle, wichtig wäre.
- 2 Eigentlich gibt es drei Laufwerke, aber das dritte ist nur Massenspeicher. Die Existenz einer dritten Festplatte ist für die Frage irrelevant. Ich erwähne es nur für den Fall, dass jemand wissen möchte, warum auf dem Screenshot 3 Festplatten zu sehen sind, während ich nur zwei erwähne.
- 3 Ich habe willkürlich mit der Nummerierung der Partitionen bei “Null” begonnen; nicht um zu implizieren, dass Partitionen bei Null beginnend nummeriert sind. Ich erwähne die Partitionen nur, weil ich nicht verstehe, wie ein Bootloader seine Arbeit machen kann, ohne zu wissen, in welcher Partition und in welchem Ordner sich eine Windows-Installation befindet.
- 4 Ich frage nach BCDEdit. Ich habe Visual BCD Editor ausprobiert. Es scheint ein visueller BCD-Editor zu sein. Das heißt, dass es eine GUI ist, aber verwendet immer noch die gleiche Terminologie wie BCDEdit und erfordert die gleichen Kenntnisse, die BCD nicht dokumentiert.
- 5 Der Einfachheit halber nehmen wir an, dass alle Windows-Installationen, zwischen denen ich dual-booten möchte, Windows Vista oder neuer sind, was sie alle mit dem BCDEdit und dem binären Bootloader kompatibel macht. Die Alternative würde erfordern, sich in die Feinheiten des alten
ntloader
zu vertiefen. Ich frage auch nicht nach Dual-Boot zu Linux; oder wie man von einem Virtual Hard Drive (vhd) Image bootet. Nur moderne Versionen von Windows auf vorhandenen Festplatten im selben Rechner.