Tengo un sistema de triple arranque en mi Mac Book Pro de principios de 2013: OS X, Windows 7 y Ubuntu. Estoy usando rEFInd como mi gestor de arranque. Mi instalación de Windows arranca usando el arranque BIOS heredado, y OS X y Ubuntu arrancan con el arranque EFI nativo.
Todo ha estado funcionando hasta que actualicé a OS X Yosemite. Eso rompió mi Windows:
"No hay dispositivo de arranque -- inserte el disco de arranque y pulse cualquier tecla"
Supongo que debería haber hecho una copia de seguridad del sector de arranque antes de actualizar, pero ya es demasiado tarde. Como Windows arranca en modo BIOS, lee el MBR híbrido y, efectivamente, la partición de Windows no estaba marcada como de arranque. Después de marcarla como arrancable con fdisk, el mensaje cambió a:
"Falta el sistema operativo"
He comprobado el MBR con fdisk, y el GPT con gdisk que y efectivamente son compatibles y están sincronizados. Después de horas buscando en Google y probando de todo, por fin me he dado cuenta de cuál era el problema:
Unas semanas antes había redimensionado la partición de Windows, reduciendo la partición de OS X en OS X, y luego, utilizando un determinado software de Windows, haciendo crecer la partición de Windows para acomodar el nuevo espacio libre que ahora había antes de la partición de Windows. Ahora parece que ese programa actualizó SÓLO el MBR: desde el punto de vista del GPT hay un espacio no particionado antes de la partición de Windows, y desde el punto de vista del MBR ese espacio es utilizado por Windows.
Sin embargo, al instalar Yosemite, sincronizó el MBR híbrido para cumplir con el GPT, marcando la sección superior de la partición de Windows como espacio libre. ¡Ese "espacio libre", por supuesto contiene el gestor de arranque de Windows y un montón de datos!
Mi pregunta es, ¿hay alguna manera de escanear la parte aparentemente no particionada del disco, y determinar el primer sector de la partición de Windows? Supongo que es posible, pero necesito las herramientas adecuadas para ello.
A título informativo, aquí están los datos de mi GPT:
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 731723959 348.7 GiB AF05 Macintosh HD
3 731723960 732993495 619.9 MiB AB00 Recovery HD
4 799528960 906948607 51.2 GiB 0700 WINDOWS 1
5 906948608 977104895 33.5 GiB 0700 UBUNTU
y los datos de la RBM protectora/híbrida:
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - 409639] <Unknown ID>
2: AC 1023 254 63 - 1023 254 63 [ 409640 - 731314320] <Unknown ID>
3: AB 1023 254 63 - 1023 254 63 [ 731723960 - 1269536] Darwin Boot
*4: 0C 1023 254 63 - 1023 254 63 [ 732993496 - 173955112] Win95 FAT32L
Observe que hay un sector de 66535465, 31,7 GiB de diferencia antes de la partición de 51,2 GiB de Windows. Cuando Windows funcionaba, veía su partición como una partición de aproximadamente 80 GiB. Por lo tanto, el inicio "real" de la partición de Windows se encuentra en algún lugar dentro de ese espacio. ¿Cómo se puede escanear?