Welche bcdedit
Befehle sind erforderlich, um den Dual-Boot-Modus zwischen verschiedenen Windows-Installationen einzurichten? 5
Hintergrund
Ich habe kürzlich Windows 8 auf einer separaten Festplatte 1 installiert . Nachdem Windows 8 installiert ist, möchte ich wieder auf Windows 7 zurückgreifen.
Ich habe meine zwei 2 - Festplatten:
Sie sehen also, dass ich zwei Festplatten mit den Partitionen habe, die Windows enthalten:
- Windows 7 :
\\PhysicalDisk0
(Partition 0 3 ) - Windows 8 :
\\PhysicalDisk2
(Partition 1)
Ich versuche herauszufinden, wie ich bcdedit
das Ding, das Windows bootet, anweisen kann, dass es eine andere Windows-Installation gibt.
Wird bcdedit
gerade ausgeführt, zeigt es die aktuelle Konfiguration an:
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
Ich kann keine Dokumentation zum Unterschied zwischen Windows Boot Manager und Windows Boot Loader finden .
Dokumentation
Es gibt einige Unterlagen zu Bcdedit
:
- Technet: Befehlszeilenreferenz - Bcdedit
- Technet: Windows Automated Installation Kit - BCDEdit-Befehlszeilenoptionen
- Whitepaper - BCDEdit-Befehle für die Boot-Umgebung (Word-Dokument)
Sie erklären jedoch nicht, wie die binären Startkonfigurationsdaten bearbeitet werden.
Wenn ich raten müsste, würde ich denken, dass ein Windows- Start- Manager das BIOS anweist, welches Programm es ausführen soll. Dieses Programm würde dem Benutzer eine Reihe von Boot-Optionen geben. Damit bleibt Windows Boot Loader eine bestimmte Boot- Wahl , die eine bestimmte Installation von Windows darstellt.
In diesem Fall muss ein neuer Windows-Bootloader- Eintrag erstellt werden.
Dies bedeutet, dass ich möglicherweise den folgenden /create
Parameter verwenden möchte :
/erstellen
Erstellt einen neuen Starteintrag:
Bcdedit [/ store Dateiname ] / erstellen [ id ] / d Beschreibung [/ Anwendung apptype | / inherit [ apptype ] | / DEVICE erben | / Gerät ]
Daher gehe ich von einer Syntax aus:
>bcdedit /create /d "The old Windows 7" /application osloader
Wo application
kann einer der folgenden Typen sein:
Apptype Description
BOOTSECTOR The boot sector application
OSLOADER The Windows boot loader
RESUME A resume application
Leider über die einzige Dokumentation osloader
ist „Der Lader Windows - Boot“ . Ich sehe nicht, wie das zwischen Windows 8 auf einer Festplatte und Windows 7 auf einer anderen unterscheiden kann.
Der andere mögliche Parameter bei /create
einem Bootloader ist
>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"
Leider fehlt die Dokumentation für /device
:
/Gerät
Wahlweise. Wenn id nicht auf einen bekannten Bezeichner festgelegt ist, die Option, mit der der neue Starteintrag als zusätzlicher Eintrag für Geräteoptionen angegeben wird.
Da ich keinen id
bekannten Bezeichner festgelegt habe, muss ich / device auf "die Option festlegen, mit der der neue Starteintrag als zusätzlicher Geräteoptionseintrag angegeben wird" . Ich kenne all diese Worte. Sie sind alle Engländer. Aber ich habe keine Ahnung, was es sagt; diese Wörter in dieser Reihenfolge scheinen unsinnig.
Also bin ich etwas angeschlagen. Ich möchte nicht wie Dan Stolts von Microsoft sein, der beim Versuch, BCDEdit zu verwenden, seine Festplatten zerstört hat :
Ich habe keine Inhalte gefunden, die mir beim Spielen mit BCDEdit besonders geholfen haben. Dieser Beitrag wäre ok gewesen, wenn es viel mehr ins Detail vor allem auf dem / set Befehl osdevice ist usw. Also , wenn ich habe meine Maschine befestigt, dokumentierte ich die Lösung und die Informationen sind hier ... .
Ich meine, wenn ein Microsoft-Typ nicht einmal herausfinden kann, wie man BCDEdit verwendet, um sein BCD zu bearbeiten, welche Chance habe ich dann?
Bonus Lesung
- BCDEdit-Befehlszeilenoptionen
- Bcdedit
- Server 2008 R2- oder Windows 7-System bootet NICHT, nachdem Änderungen am Boot-Manager mit BCDEdit vorgenommen wurden
- Visual BCD Editor 4
- Windows 7 und Windows 8 RTM Dual Boot Setup
Fußnoten
- 1 Da der Windows 8 - Installer beschädigt würde mein Windows 7 installieren, habe ich beschlossen , meine ziehen „main“ Festplatte während der Installation. Dies 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. Das Vorhandensein einer dritten Festplatte ist für die Frage unerheblich. Ich erwähne es nur für den Fall, dass jemand wissen möchte, warum der Screenshot 3 Festplatten hat, wenn ich nur zwei erwähne.
- 3 Ich habe willkürlich damit begonnen, Partitionen bei "Null" zu nummerieren . Dies bedeutet nicht, dass Partitionen ab Null nummeriert werden. Ich erwähne nur Partitionen, weil ich nicht weiß, wie ein Bootloader seine Aufgabe erfüllen 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 sich um einen visuellen BCD-Editor zu handeln. Dies bedeutet, dass es sich um eine grafische Benutzeroberfläche handelt, die jedoch dieselbe Terminologie wie BCDEdit verwendet und dasselbe Wissen erfordert, das BCD nicht dokumentiert.
- 5 Der Einfachheit halber nehmen wir an, dass alle Installationen von Windows, zwischen denen ich einen Dual-Boot ausführen möchte, Windows Vista oder höher sind, wodurch sie alle mit BCDEdit und dem binären Bootloader kompatibel sind. Die Alternative würde erfordern, sich mit den Feinheiten der alten zu beschäftigen
ntloader
. Ich frage auch nicht nach einem Dual-Boot unter Linux. oder wie man ein Virtual Hard Drive (vhd) Image bootet. Nur moderne Versionen von Windows auf vorhandenen Festplatten auf demselben Computer.
bcdedit
stehtbcdboot e:\windows
(siehe hier für die Frage){current}
funktioniert nicht.Einige Anmerkungen zu Kritikern in der ursprünglichen Frage zur Verwendung derselben Terminologie in Visual BCD, die Microsoft für bcdedit verwendet.
Das BCD-Konzept wurde von Microsoft entwickelt. Es kommt mit einer eigenen Terminologie. Ich glaube nicht, dass ich das ändern kann. Ich kann es nur verlängern.
Microsoft hat zwei Möglichkeiten für den Zugriff auf / das Bearbeiten von BCD angegeben:
Beide Schnittstellen sprechen von BCD-Objekten und -Elementen. Dies ist ein allgemeines Konzept, das sowohl in der Programmierung als auch in anderen Bereichen des Menschen verwendet wird. Wir könnten sogar zur Philosophie gehen, die die Terminologie von Objekten, Eigenschaften und Beziehungen zur Beschreibung der Welt und des Universums verwendet.
Der Zugriff auf BCD-WMI-Provider ist flexibler, da ein Programmierer auf jedes Objekt und Element in BCD zugreifen und frei darauf zugreifen kann.
Visual BCD nutzt die BCD-WMI-Anbieterschnittstelle in vollem Umfang und implementiert den Zugriff auf dieselbe Weise, wie wir ihn für den Zugriff auf die Windows-Registrierung mit regedit.exe verwenden. Darüber hinaus automatisiert das Tool zwei Hauptaufgaben - die Erstellung von Loadern und die Reparatur von Dual-Boot-Systemen . Kein anderes Tool bietet eine solche automatische Ein-Klick-Funktionalität . Ich würde sagen, das ist eine neue Terminologie und eine neue Abstraktionsebene . Ich würde die von Microsoft erstellte Basis nicht ändern, ich kann nur darauf aufbauen.
Anfänger klicken einfach auf eine Schaltfläche und eine komplexe Operation wird ausgeführt! Es wird kein Hintergrund benötigt! Sie müssen nicht einmal wissen, wie viele Windows-Versionen Sie installiert haben - das Tool versucht, alle zu finden und dann Lader für sie zu erstellen, wenn entsprechende Lader nicht bereits in BCD vorhanden sind - die verwendete Terminologie - "Erstellen fehlender Windows-Lader" - I Denke, jeder, der Englisch spricht, könnte einen solchen Vorgang verstehen / klicken / bestätigen oder irre ich mich?
Die Komplexität von Objekten und Elementen in BCD liegt auf der Hand, da das Konzept das Booten neuerer und älterer Windows-Betriebssysteme sowie fremder Betriebssysteme wie Linux, Unix usw. umfasst. Darüber hinaus handelt es sich um ein allgemeines Konzept für das Booten von MBR und EFI auf einer Vielzahl von Geräten.
Der komplexeste Teil von BCD ist das Gerätekonzept . Sie haben ein Partitionsgerät, ein Ramdisk-Gerät, ein Dateigerät, ein Gerät suchen - Sie müssen einige Zeit damit verbringen, es zu verstehen, und ich denke nicht, dass dies für den normalen Windows-Benutzer ist. Die Foren sind voll mit Fragen zu Festplattenpartitionen, was ein weitaus weniger komplexes Thema ist. Viele Windows-Benutzer kennen beispielsweise den Unterschied zwischen einer primären und einer logischen Partition gar nicht. Sie müssen sich mit Partitionen auskennen, wenn Sie Dual- / Multi-Booten möchten. Sie müssen Land kaufen, wenn Sie ein zweites Haus bauen möchten.
Das BCD-Konzept ist seit Vista dasselbe - in Windows 7/8 werden nur neue Elemente definiert.
Ich denke, dass die Registrierungsstruktur für BCD ausgewählt wurde, da Windows diese Schnittstelle bereits implementiert und es sich um eine zuverlässige Transaktionsschnittstelle handelt, die erwiesenermaßen über die Jahre funktioniert. Ob das Windows-Registrierungskonzept im Allgemeinen ein gutes oder ein schlechtes Konzept ist, ist ein anderes Thema.
Es ist Aufgabe des Programmierers / Entwicklers, eine benutzerfreundlichere Oberfläche zu erstellen. Ich begann damit, dasselbe Interface zu geben - ein GUI-Äquivalent zu bcdedit - später kann das Interface auf einer höheren Ebene basierend auf Verwendungsmustern abstrahiert werden. Eine strukturierte Ansicht von BCD ist bereits implementiert. Dies ist die Basisabstraktionsschicht.
Die nächste Abstraktionsebene besteht darin, sich auf die Beziehungen zwischen Objekten zu konzentrieren, da dieses Thema von Microsoft nicht behandelt wird. Keine leichte Aufgabe. Mit der Abstraktion kommt eine neue Terminologie.
quelle
Windows
hier und eine andere daWindows
drüben. Wie kann ich zwischen ihnen booten?" Statt eines vollständigen Tutorials zu allen Optionen von BCDEdit hoffte ich auf die Befehle, die nur dieses eine (scheinbar einfache) Problem lösen können. Vielleicht fast etwas so einfaches wiemsconfig
, außer es Sie können einige der auf einen anderen Windows installieren und es wird es für Sie hinzuzufügen.Sie benötigen einen
BCDEdit /set
Befehl zum Konfigurieren des Startvolumes. Fügen Sie dann den Eintrag zum Windows Boot Manager-Betriebssystemmenü hinzu, indem Sie denBCDEdit /displayorder
Befehl aufrufen .Es wird auch die Partition des anderen Betriebssystems oder den folgenden Befehl identifizieren
In der folgenden Zeile wird der Eintrag durch Hinzufügen zum Menü startfähig gemacht
Sie können überprüfen, ob der neue Eintrag im Startmenü angezeigt wird, indem Sie den Befehl ausführen
bcdedit /enum ACTIVE
und nach dem Windows Legacy OS Loader-Eintrag suchen.Hinweis : Der
/create
Befehl wird verwendet, um ein Nicht-Microsoft-Betriebssystem zum Bootloader-Eintrag hinzuzufügen.Weitere Informationen hierzu finden Sie in diesem Quellartikel
Zu Ihrer Frage zu " Unterschied zwischen Windows-Bootloader und Bootmanager "
Aus Wikipedia
Siehe auch auf technet .
Visual BCD Editor ist eine erweiterte GUI-Version des Windows-Dienstprogramms bcdedit.
Download-Seite für den visuellen BCD-Editor.
Versuchen Sie, die Option im Tool zu reparieren.
quelle
Obwohl alt, möchte ich die Antworten ergänzen, da einige der obigen Antworten falsche Informationen enthalten. Sie funktionieren wahrscheinlich, aber Sie brauchen auf keinen Fall ein externes Programm, oder auch nur
bcdboot
, um es zu tun. Als Referenz sind die korrekten Informationen wie folgt:Schneller BCD-Hintergrund, falls neu
BCD ist die Windows-Startkonfiguration. Es enthält zahlreiche Abschnitte, die jeweils durch einen Namen ("Beschreibung" genannt) und einen Bezeichner gekennzeichnet sind, der ungefähr so aussieht: "{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}".
Es gibt mehrere "bekannte Bezeichner", und bcdedit verwendet diese stattdessen, wo immer dies möglich ist (es sei denn, Sie verwenden die
/v
(ausführliche) Option mit/enum
). Sie sehen folgendermaßen aus: "{bootmgr}", "{memdiag}". Dies sind nur Kurznamen für vollständige Bezeichner, die jedoch einfacher zu verarbeiten sind. Sie können entweder verwenden.Sie können diese Abschnitte mit dem folgenden Befehl Liste (die „alle“ ist optional , aber ohne es wird nicht eine vollständige Liste sehen):
bcdedit /enum all
.Typische Ausgabe:
Um die Identifizierung von Geräten zu vereinfachen, wird ein Format wie das folgende verwendet
\Device\HarddiskVolume2
, die Partition wird jedoch anhand des Buchstabens ("C:") erkannt, wenn eine zugewiesen ist.Die von erstellte Liste
/enum all
beginnt mit einem optionalen Abschnitt für den Firmware-Boot-Manager (wenn Ihr Motherboard über EFI verfügt). Sein Kurzname ist "{fwbootmgr}" . Es steuert die anfängliche EFI-Startauswahl (ob der normale Windows-Start-Manager oder bestimmte Geräte verwendet werden sollen). Im Allgemeinen können Sie {fwbootmgr}, falls vorhanden, ignorieren.Darunter befindet sich der "Windows Boot Manager" (Bezeichner "{bootmgr}" ). Dies ist eine, mit der Sie arbeiten werden. Es enthält die Konfiguration für das Grundmenü oder was auch immer Sie sonst beim Start bekommen (wenn Windows Boot Manager funktioniert und BCD an erster Stelle finden kann).
Unter {bootmgr} befinden sich eine beliebige Anzahl von Abschnitten "Windows Boot Loader" und möglicherweise weitere Abschnitte, von denen jeder eine Aktion oder eine Startoption steuert.
Dual Boot mit bcdedit einrichten (sonst brauchst du nichts)
Zum Dual-Booten teilen Sie bcdedit mit, dass
/copy
ein Windows- Bootloader- Eintrag für Ihr erstes Betriebssystem vorhanden ist./copy
um einen vorhandenen Eintrag zu kopieren{current}
ist die Kennung des Eintrags, den Sie kopieren möchten. Es ist eine Verknüpfung für das aktuelle Startelement. Wenn dies nicht der Fall ist, den Sie dual booten möchten, verwenden Sie den richtigen Bezeichner für den gewünschten. Der Beschreibungstext für jeden Eintrag hilft dabei, den gewünschten zu finden./d "Description for copied entry
wird die Beschreibung des neuen Artikels seinEs erstellt eine Kopie dieses Eintrags, gibt ihm die angegebene Beschreibung und antwortet mit der neuen Kennung, die es der Kopie gegeben hat:
Dadurch wird ein unabhängiger Eintrag mit dem richtigen Namen erstellt. Jetzt müssen Sie ihm mitteilen, was zu tun ist. Da sich in den letzten Betriebssystemen so gut wie nichts geändert hat, können Sie das Gerät und das OSDevice einfach auf Ihre Win7-Partition einstellen, und es wird wahrscheinlich funktionieren. Schauen Sie sich bei Bedarf die Ausgabe von / enum an, wenn Sie Win7 normal starten, und kopieren Sie die Einträge, die zu erwarten scheinen. In der Regel reicht es jedoch aus, Ihrem zweiten Betriebssystem vorübergehend einen Buchstaben wie "Q" zuzuweisen, und dann lautet der Befehl:
bcdedit /set {NEW_IDENTIFIER} device partition=Q:
oder so, und das Gleiche fürosdevice
. bcdedit sortiert die Laufwerksbuchstaben, siehe unten. Sie können den temporären Laufwerksbuchstaben löschen, sobald er in bcd verwendet wurde.Als nächstes fügen Sie es der Liste der Einträge in {bootmgr} mit hinzu
bcdedit /displayorder {NEW_ID} /addlast
und - entscheidend - weisen Sie bcd an, ein Boot-Menü mit anzuzeigenbcdedit /set {bootmgr} displaybootmenu Yes
.Getan.
Hinweis - Es ist sicher, "ungerade" oder "falsche" Laufwerksbuchstaben in BCD zu verwenden, und es ist sicher, wenn die Ausgabe von / enum diese ebenfalls enthält.
Um es klar auszudrücken, brauchen Sie sich keine Sorgen zu machen, dass Ihr neues Gerät als Q: (oder wie auch immer) identifiziert wird, wenn es "C:" sein sollte. bcdedit speichert die Festplatten-ID, nicht den Buchstaben. Es ist lediglich das Akzeptieren und Anzeigen von Q:, um hilfreich zu sein. Wenn ein Gerät einen Buchstaben hat, wird dieser zur Vereinfachung standardmäßig anstelle der Geräte-ID angezeigt. Sie können dies sehen, indem Sie den Buchstaben aus dem 2. Betriebssystem in DISKPART oder DISKMGMT.MSC entfernen oder zuweisen. Die Ausgabe von / enum wird stattdessen sofort auf \ Device zurückgesetzt. Es ist tatsächlich die richtige Festplatten-ID gespeichert, und wenn es zum Booten verwendet wird, findet Windows das Gerät - der Buchstabe dient der Vereinfachung und wird nie gespeichert.
quelle
{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}
? Sie haben den{current}
Windows-Bootloader bereits kopiert . Von was machst du sonst noch eine Kopie? (Nicht der Windows Boot Manager, den ich nehme)Als Antwort auf die spezifische Frage des Autors, wie sie in den Kommentaren wiederholt wird (obwohl sie sich von seiner ursprünglichen Frage bezüglich der
bcdedit.exe
Sequenzen unterscheidet, um dasselbe zu erreichen):EasyBCD ist genau das, was Sie suchen (kostenlos für den persönlichen Gebrauch). Es ist ein visuelles Dual-Boot-Manager-Tool für Windows, und das Hinzufügen eines neuen Windows-Eintrags erfolgt mit einem Mausklick, genau wie Sie es beschrieben haben .
EasyBCD ist mit vielen Ressourcen online, daher werde ich hier nicht alles wiederholen. Grundsätzlich fasst EasyBCD die Komplexität von zusammen
bcdedit.exe
und erweitert es mit seinen eigenen Bootloader-Modulen, damit Sie Dual-Boot mit anderen (neueren oder älteren) Versionen von Windows sowie Linux, BSD und mehr einrichten können.Vollständige Offenlegung: Ich bin der Hauptautor von EasyBCD.
quelle
Dies kann auf eine Datei wie eine .vhd-Datei verweisen, die jedoch als Partitionsdiskpart erstellt und initialisiert und angehängt oder im laufenden Betrieb bereitgestellt und als Betriebssystem neu gestartet werden. Das Betriebssystem kann in einer anderen Partition versteckt sein. Eine andere Partition kann in einer anderen Partition und dem Betriebssystem darin versteckt sein. Wenn Sie ausführen
bcdedit
, um auf eine andere VHD-Datei verwiesen zu werden, unabhängig davon, wo sie sich befindet. Es lädt auf. Mein Lehrer zeigte dies im Unterricht, versagte jedoch oder weigerte sich, eine andere Erklärung abzugebenbcdedit
. Dies funktioniert jedoch, um das voll funktionsfähige Betriebssystem zu verbergen und zu betreiben.bcdboot e:\windows
bcdboot c:\windows
quelle