Ho avuto la sfortuna di dover clonare un box Windows XP / 7 a doppio avvio per sostituire il suo disco rigido con uno più piccolo. Ho avuto grossi problemi ad avviarlo e vorrei capire cosa sta succedendo e se potrei fare qualcosa di meglio.
Sfondo: la macchina ha un disco da 750 Gb con 3 partizioni:
- Windows XP
- Windows 7
- Dati
L'installazione originale è stata eseguita in modo tale che non vi sia alcuna partizione di ripristino di Windows 7 separata. Spero che questo fatto semplifichi un po 'le cose.
Lo sto sostituendo con un disco da 80 GB. Le partizioni sono già state ridotte da Windows 7 in modo da adattarsi al disco più piccolo.
Ho usato GParted
(da un PartedMagic
LiveCD Linux) per copiare le partizioni. Contrassegno la partizione di Windows XP come partizione attiva (la stessa del disco originale).
Non sono stato in grado di utilizzare CloneZilla
o eseguire un'intera copia del disco a causa del passaggio da un disco più grande a uno più piccolo.
Dopo aver copiato le partizioni, ho copiato manualmente il boot loader (facendo attenzione a non copiare la tabella delle partizioni):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Ho rimosso il disco originale, impostato quello nuovo in modo che sia fisicamente collegato come l'originale (IDE canale 1 master) e ho provato l'avvio. Questo ha presentato con successo il menu di avvio ma non è riuscito selezionando un'opzione (ce ne sono due: uno per XP e uno per Win7).
Ho fatto un bel po 'di ricerche che mi hanno permesso di realizzare che i dati di configurazione di avvio di Windows 7 non contenevano tutto ciò che dovrebbe. Ho confrontato l'uscita BCD dai dischi originali e nuovi e ho notato che le voci del dispositivo su quest'ultimo erano unknown
. Quindi li ho cambiati manualmente per abbinare l'originale - in questo modo:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
e riavviato. Questa volta ho potuto avviare sia XP che Win7. Ho bisogno di fare più test perché sembrano esserci altre differenze tra i due BCD, ma apportare le modifiche di cui sopra ha almeno permesso l'avvio.
Quindi la mia domanda è davvero chiedermi perché il BCD su una partizione clonata sembrerebbe diverso dall'originale e sufficientemente per impedire l'avvio?
E un seguito sarebbe quello di chiedere se dovrei farlo in un altro modo?
bcdboot
fornisce un modo più semplice per ricreare una voce di avvio, ma non sono sicuro che sarebbe adatto in uno scenario a doppio avvio XP / W7.