Come posso spostare i file di avvio di Windows 7 (bootmgr, ...) su un'altra unità?


10

Volevo una configurazione a doppio avvio. Quindi prima ho installato Windows 7 sulla prima partizione di un disco rigido (lo chiameremo HDD1), e poi sono andato a installare Ubuntu 9.10 sulla seconda partizione di HDD1. Sfortunatamente, questo non ha funzionato (ha bypassato GRUB2 ed è andato direttamente in Windows). Ho deciso di reinstallare Ubuntu, ed è allora che ho notato che (per qualche ragione) Windows ha deciso di posizionare i suoi file di avvio su un altro disco rigido (lo chiameremo HDD3).

Vorrei risolvere questo problema: voglio spostare i file di avvio da HDD3 a HDD1. Può aiutare a risolvere il mio problema di doppio avvio, ma anche se non lo fa, nella mia esperienza, risparmierà molti mal di testa lungo la strada. Come posso fare questo? Presumo che non sia facile come semplicemente copiare i file, ma vorrei essere smentito :)

Risposte:


16

Attraverso alcuni googling, ho trovato la seguente soluzione (utilizzo HDD1 e HDD3 per rappresentare i due dischi rigidi a cui tengo, come indicato sopra nella mia domanda):

  1. I file di avvio sono costituiti da una cartella denominata Boot e un'applicazione chiamata bootmgr . Sono file di sistema e quindi sono normalmente nascosti. Devi renderli visibili.
  2. Copiarli entrambi da HDD3 a HDD1. Si lamenterà che non è possibile copiare due file : BCD e BCD.log , entrambi nella cartella Boot . Quest'ultimo non è importante (è solo un file di registro) e può essere ignorato; il primo verrà copiato nel passaggio successivo.
  3. Aprire un prompt dei comandi con privilegi di amministratore. Digita il seguente comando bcdedit /export HDD1:\Boot\BCD:, dove HDD1 è la lettera del driver dell'unità di destinazione. Nel mio caso, HDD1 era C , quindi il comando era bcdedit /export C:\Boot\BCD.
  4. Ora, devi modificare il file BCD in modo che le voci siano tutte corrette. Ho usato il programma bcdedit fornito con Windows 7, ma ce ne sono altri. Ho sentito che EasyBCD è abbastanza buono (e gratuito), ma l'ultima versione non supporta completamente Windows 7. Credo che a breve uscirà una nuova versione che supporta Windows 7. Innanzitutto, accedo a HDD1 \ Boot dal prompt dei comandi (con privilegi di amministratore) e digito bcdedit /store BCD /enum ALL. Uso lo /storeswitch per specificare il file BCD nella directory corrente - omettendo questo switch utilizzerò quello predefinito che penso, che si trova su HDD3. Questo comando elenca tutte le voci nel file BCD .
  5. Ho scansionato le voci, e si scopre che le voci per {bootmgr}e {memdiag}sia punto HDD3. Certo, voglio che puntino a HDD1. Così ho impartire comandi di questo modulo: bcdedit /store BCD /set [entry_name] device partition=HDD1:. Dal momento che è HDD1 C sulla mia macchina, vorrei digitare quanto segue per impostare la {bootmgr}voce di: bcdedit /store BCD /set {bootmgr} device partition=C:.

Questo è tutto. Un ultimo passo è rendere attivo l'HDD1 tramite Disk Management(accessibile da Gestione computer): era già attivo sul mio sistema, quindi non dovevo fare nulla.

Ora, per quanto riguarda lo strano problema del doppio avvio, risulta che ho dimenticato di aver cambiato fisicamente l'ordine dei dischi rigidi. Pertanto, l'ordine di avvio del BIOS era errato (stava tentando di avviarsi prima da HDD3 , anziché da HDD1). E sì, è stato un errore incredibilmente stupido da parte mia :)


il secondo passaggio dell'attributo non dovrebbe essere necessario in quanto i flag attrrib sul file originale sono + a only

Queste istruzioni sono molto utili. Ho diverse macchine dual boot che usano Win7 e Ubuntu e nel tempo ho trovato la migliore soluzione permanente a questo è BootIT NG terabyteunlimited.com/bootit-next-generation.htm .
Jtreser

Se si verifica il problema in cui il gestore di avvio si trova in una partizione riservata di sistema, è possibile assegnargli una lettera di unità da Gestione disco in modo da poter accedere ai file e copiarli. Bella risposta!
Nate Bundy,

1

Il modo più semplice è semplicemente scaricare e installare EasyBCD gratuito: http://neosmart.net/dl.php?id=1

Nella pagina "Backup / Riparazione BCD" di EasyBCD, c'è un'opzione chiamata "Cambia unità di avvio" che farà apparire un elenco di tutti i dischi locali. Basta scegliere il disco desiderato e EasyBCD automatizzerà l'intero processo, incluso rendere attiva e avviabile la partizione selezionata, importare il vecchio contenuto del bootloader e scrivere l'MBR.

(Divulgazione: sono l'autore di EasyBCD)


1
bel consiglio da scaricare, soprattutto se NON PUOI avviarsi
Ewoks

Se non riesci a scaricare, puoi invece utilizzare il CD EasyRE avviabile: neosmart.net/EasyRE Puoi utilizzare un PC diverso per creare un CD avviabile e avviare da esso per riparare il PC.
Mahmoud Al-Qudsi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.