Ho un sistema di avvio triplo sul Mac Book Pro di inizio 2013: OS X, Windows 7 e Ubuntu. Sto usando REFInd come gestore di avvio. La mia installazione di Windows si avvia utilizzando l'avvio legacy del BIOS e l'avvio di OS X e Ubuntu con avvio EFI nativo.
Tutto ha funzionato fino a quando non ho aggiornato a OS X Yosemite. Che ha rotto il mio Windows:
"No bootable device -- insert boot disk and press any key"
Credo che avrei dovuto eseguire il backup del settore di avvio prima dell'aggiornamento, ma ora è troppo tardi! Poiché Windows si avvia in modalità BIOS, legge l'MBR ibrido e infatti, la partizione di Windows non è stata contrassegnata come avviabile. Dopo averlo contrassegnato come avviabile con fdisk, il messaggio è cambiato in:
"Missing operating system"
Ho controllato l'MBR con fdisk e GPT con gdisk che sono effettivamente compatibili e sincronizzati. Dopo ore passate a cercare e provare tutto, ho finalmente capito qual era il problema:
Ho avuto alcune settimane prima di ridimensionare la partizione di Windows, riducendo la partizione di OS X in OS X, e poi, usando un certo software Windows, crescendo la partizione di Windows per accogliere il nuovo spazio libero che ora ha mentito prima la partizione di Windows. Ora sembra che quel programma abbia aggiornato SOLO MBR: dal punto di vista GPT c'è uno spazio non partizionato prima della partizione Windows, e dal punto di vista MBR lo spazio utilizzato da Windows.
Tuttavia, durante l'installazione di Yosemite, ha sincronizzato l'MBR ibrido per conformarsi al GPT, contrassegnando la parte superiore della partizione di Windows come spazio libero. Quel "spazio libero", ovviamente contiene il bootloader di Windows e un sacco di dati!
La mia domanda è, c'è un modo per scansionare la porzione apparentemente non partizionata del disco e determinare il primo settore della partizione Windows? Immagino che sia possibile, ma ho bisogno degli strumenti giusti per questo.
Per informazioni, ecco i miei dati 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
e i dati da MBR protettivi / ibridi:
#: 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
Si noti che esiste un settore 66535465, 31,7 GiB gap prima della partizione 51,2 GiB Windows. Quando Windows ha funzionato, ha visto la sua partizione come 80 partizione GiB. Quindi, l'inizio "reale" di quella partizione Windows è da qualche parte in quella distanza. Come eseguirne la scansione?