Tuve la desgracia de necesitar clonar una caja de Windows XP / 7 de arranque dual para reemplazar su disco duro por uno más pequeño. Tuve grandes problemas para arrancar y me gustaría entender qué está pasando y si podría estar haciendo algo mejor.
Antecedentes: la máquina tiene una unidad de 750 Gb con 3 particiones:
- Windows XP
- Windows 7
- Datos
La instalación original se realizó de tal manera que no hay una partición de recuperación de Windows 7 separada. Espero que este hecho simplifique un poco las cosas.
Lo estoy reemplazando con una unidad de 80 Gb. Las particiones ya se han reducido desde Windows 7 para que quepan en el disco más pequeño.
Utilicé GParted
(desde un PartedMagic
LiveCD de Linux) para copiar las particiones. Marco la partición de Windows XP como la partición activa (igual que en el disco original).
No pude usar CloneZilla
o hacer una copia completa del disco debido a la transición de un disco más grande a uno más pequeño.
Después de copiar las particiones, copié manualmente el cargador de arranque (cuidando de no copiar la tabla de particiones):
$ dd if=/dev/sda of=/dev/sdb bs=446 count=1
Quité el disco original, configuré el nuevo para que esté físicamente conectado igual que el original (maestro IDE del canal 1) e intenté arrancar. Esto presentó con éxito el menú de inicio pero falló al seleccionar cualquiera de las opciones (hay dos: una para XP y otra para Win7).
Hice una buena investigación que me permitió darme cuenta de que los datos de configuración de arranque de Windows 7 no contenían todo lo que debería. Comparé la salida BCD de los discos originales y nuevos y noté que las entradas del dispositivo en este último eran unknown
. Así que los cambié manualmente para que coincidan con el original, así:
$ bcdedit /set {ntldr} device partition=C:
$ bcdedit /set {default} device partition=D:
$ bcdedit /set {default} osdevice partition=D:
y reiniciado. Esta vez pude arrancar tanto XP como Win7. Necesito hacer más pruebas porque parece haber otras diferencias entre los dos BCD, pero hacer los cambios anteriores al menos permitió el arranque.
Entonces, mi pregunta es realmente preguntar por qué el BCD en una partición clonada sería diferente al original y lo suficiente como para evitar el arranque.
¿Y un seguimiento de eso sería preguntar si debería estar haciendo esto de otra manera?
bcdboot
proporciona una manera más fácil de recrear una entrada de arranque, pero no estoy seguro de que sea adecuada en un escenario de arranque dual XP / W7.