Ho avuto una perdita di potenza mentre stavo ripristinando alcuni dati da un backup di Time Machine. Quando ho riavviato il computer, la mia unità da 4 TB era inutilizzabile, con OS X che mi suggeriva una finestra di dialogo che diceva "Il disco inserito non era leggibile da questo computer".
Dopo un po 'di lettura e di scavo, ho scoperto che il problema era con la tabella delle partizioni. E infatti, quando provo a guardarlo, vedo:
# sudo gpt -r -vv show disk2
gpt show: disk2: mediasize=4000787029504; sectorsize=512; blocks=7814037167
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Bad CRC in GPT table at sector 2
gpt show: disk2: Bad CRC in GPT table at sector 7814037134
start size index contents
0 1 PMBR
1 7814037166
Ci sono molti problemi simili qui sullo scambio di stack, e la soluzione è in genere per ricostruire il GPT manualmente, il che sembra abbastanza semplice. Fortunatamente, ho accesso a un hd identico utilizzato come disco di Time Machine, ed ecco quello che vedo con quello:
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - "EFI System Partition"
409640 7813365344 2 GPT part - ""
7813774984 262150
7814037134 32 Sec GPT table
7814037166 1 Sec GPT header
Dato ciò, sembra che ricreare il GPT dovrebbe essere facile. Tuttavia, non appena aggiungo la partizione di backup principale, ottengo immediatamente la stessa finestra di dialogo 'Il disco che hai inserito non era leggibile' e se stampo il GPT, ottengo gli stessi esatti risultati con cui ho iniziato - come se io non ci avevo mai lavorato.
Quindi, inizierò a creare la struttura GPT e la partizione EFI:
# sudo gpt create -f disk2
# sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk2
disk2s1 added
# sudo gpt -r -vv show disk2
gpt show: disk2: mediasize=4000787029504; sectorsize=512; blocks=7814037167
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Pri GPT at sector 1
gpt show: disk2: Sec GPT at sector 7814037166
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 7813627494
7814037134 32 Sec GPT table
7814037166 1 Sec GPT header
Sembra buono finora. Ora creo la seconda partizione:
# sudo gpt add -b 409640 -i 2 -s 7813365344 -t 48465300-0000-11AA-AA11-00306543ECAC disk2
disk2s2 added
# sudo gpt -r -vv show disk2
gpt show: disk2: mediasize=4000787029504; sectorsize=512; blocks=7814037167
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Bad CRC in GPT table at sector 2
gpt show: disk2: Bad CRC in GPT table at sector 7814037134
start size index contents
0 1 PMBR
1 7814037166
E ora sono tornato dove ho iniziato. C'è qualcosa che mi manca? Qualcuno ha qualcos'altro che posso provare?
Grazie.
Modifica: si noti che se utilizzo gdisk per rendere la seconda partizione più piccola del totale dovrebbe essere (ad esempio, 1 TB anziché occupare il resto del disco), non vedo quel messaggio di errore e il GPT non viene ripristinato magicamente.
# sudo gpt -r -vv show -l disk2
gpt show: disk2: mediasize=4000787029504; sectorsize=512; blocks=7814037167
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Pri GPT at sector 1
gpt show: disk2: Sec GPT at sector 7814037166
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - "EFI System Partition"
409640 2147483648 2 GPT part - "Backup"
2147893288 5666143846
7814037134 32 Sec GPT table
7814037166 1 Sec GPT header
Non si monterà a questo punto, e l'esecuzione di fsck_hfs mi dice che esiste un numero non valido di blocchi di allocazione, ma almeno non viene automaticamente eliminato. Questo è indicativo che il mio problema è che sto impostando i limiti di quella seconda partizione in modo errato?