Come usare BCDEdit per le installazioni dual boot di Windows?
Quali sono i comandi bcdedit
necessari per impostare il dual boot tra diverse installazioni di Windows? 5
Background
Ho recentemente installato Windows 8 su un disco rigido separato1. Ora che Windows 8 è installato voglio fare il dual-boot per tornare a Windows 7.
Ho i miei due2 dischi rigidi:
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
Così potete vedere che ho i miei due dischi, con le partizioni contenenti Windows:
- Windows 7 :
\PhysicalDisk0
(partizione 03) - Windows 8 :
\PhysicalDisk2
(partizione 1)
Quello che sto cercando di capire è come usare bcdedit
per istruire la cosa che avvia Windows che c'è un'altra installazione di Windows là fuori.
Eseguendo ora bcdedit
, mostra la configurazione corrente:
>bcdedit /create /d "The old Windows 7" /application osloader
Non riesco a trovare nessuna documentazione sulla differenza tra Windows Boot Manager e Windows Boot Loader.
Documentazione
C'è della documentazione su Bcdedit
:
- Technet: Command Line Reference - Bcdedit
- Technet: Windows Automated Installation Kit - BCDEdit Command Line Options
- Whitepaper - BCDEdit Commands for Boot Environment (Word Document)
Ma non spiegano come modificare i dati di configurazione del boot binario.
Se dovessi indovinare, penserei che un Windows Boot Manager istruisce il BIOS su quale programma dovrebbe eseguire. Quel programma darebbe all'utente una serie di scelte di avvio. Questo lascia Windows Boot Loader essere una particolare scelta di avvio, che rappresenta una particolare installazione di Windows.
Se questo è il caso avrei bisogno di creare una nuova voce Windows Boot Loader.
Questo significa che potrei voler usare il parametro /create
:
/create
Crea una nuova voce di boot:
bcdedit [/ store filename] / create [id] / d description [/ application apptype | / inherit [apptype] | / inherit DEVICE | / device ]
Quindi presumo una sintassi di:
Apptype Description
BOOTSECTOR The boot sector application
OSLOADER The Windows boot loader
RESUME A resume application
dove application
può essere uno dei seguenti tipi:
>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"
Purtroppo, l'unica documentazione su osloader
è “Il boot loader di Windows”. Non vedo come questo possa differenziare tra Windows 8 su un disco rigido e Windows 7 su un altro.
L'altro possibile parametro quando /create
un boot loader è
Purtroppo manca la documentazione per /device
:
/device
Opzionale. Se id non è impostato su un identificatore noto, l'opzione che viene usata per specificare la nuova voce di avvio come una voce aggiuntiva di opzioni di dispositivo.
Poiché non ho impostato id
su un identificatore noto, devo impostare /device su “l'opzione che viene usata per specificare la nuova voce di avvio come voce aggiuntiva di opzioni di dispositivo”. Conosco tutte queste parole; sono tutte inglesi. Ma non ho idea di cosa stia dicendo; quelle parole in quell'ordine sembrano senza senso.
Quindi sono un po’ in difficoltà. Non voglio fare come Dan Stolts di Microsoft, che ha distrutto i suoi dischi rigidi cercando di usare BCDEdit :
Non ho trovato nessun contenuto particolarmente utile quando ho distrutto la mia macchina giocando con BCDEdit. Questo post sarebbe stato ok se ci fosse stato molto più dettaglio soprattutto sul comando /set OSDevice, ecc. Così, una volta che ho sistemato la mia macchina, ho documentato la soluzione e le informazioni sono qui… .
Voglio dire, se un ragazzo Microsoft non riesce nemmeno a capire come usare BCDEdit per modificare il suo BCD, allora che possibilità ho io?
Lettura bonus
- Opzioni della riga di comando di BCDEdit
- Bcdedit
- Il sistema Server 2008 R2 o Windows 7 NON si avvia dopo aver fatto modifiche al Boot Manager usando BCDEdit
- Visual BCD Editor 4
- Windows 7 e Windows 8 RTM Dual Boot Setup
Note a piè di pagina
- 1 Poiché il programma di installazione di Windows 8 avrebbe danneggiato la mia installazione di Windows 7, Ho deciso di scollegare il mio disco rigido “principale” durante l'installazione. Che è una lunga spiegazione del perché il programma di installazione di Windows 8 non ha rilevato l'installazione esistente di Windows 7. Normalmente il programma di installazione avrebbe creato automaticamente le voci necessarie per il dual-boot. Non che la ragione per cui sto facendo la domanda sia importante.
- 2 In realtà ci sono tre unità, ma la terza è solo la memoria di massa. L'esistenza di un terzo disco rigido è irrilevante per la domanda. Lo menziono solo nel caso in cui qualcuno voglia sapere perché lo screenshot ha 3 dischi rigidi quando io ne menziono solo due.
- 3 Ho arbitrariamente iniziato a numerare le partizioni a “zero”; non per implicare che le partizioni siano numerate partendo da zero. Menziono solo le partizioni perché non vedo come qualsiasi boot-loader possa fare il suo lavoro senza sapere in quale partizione, e in quale cartella, si trova un'installazione di Windows.
- 4 Sto chiedendo di BCDEdit. Ho provato Visual BCD Editor. Sembra essere un editor BCD visuale. Vale a dire che è una GUI, ma usa ancora la stessa terminologia di BCDEdit, e richiede le stesse conoscenze che BCD non documenta.
- 5 Per semplicità assumeremo che tutte le installazioni di Windows tra cui voglio fare il dual-boot siano Windows Vista o successive, rendendole tutte compatibili con BCDEdit e il boot loader binario. L'alternativa richiederebbe di addentrarsi nelle complessità del vecchio
ntloader
. Né sto chiedendo del dual boot a Linux; o di come avviare un'immagine Virtual Hard Drive (vhd). Solo versioni moderne di Windows su dischi rigidi esistenti nella stessa macchina.