È possibile ricreare EFI System Partition (ESP) utilizzando lo gpt
strumento da riga di comando. Dovrebbe iniziare dal settore 40 e dovrebbe essere lungo 409600 settori (esattamente 200 MiB). Il tipo di voce GPT dovrebbe essere C12A7328-F81F-11D2-BA4B-00A0C93EC93B
e se si dispone di un MBR ibrido, dovrebbe esserci il tipo EE
. Il formato è in realtà un sottoinsieme di FAT, non HFS +. Puoi leggere GPT usando il comando sudo gpt -r show disk0
in una finestra Terminale, questo produce un output simile al seguente:
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 447801712 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
448211352 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
449480888 40753831
490234719 32 Sec GPT table
490234751 1 Sec GPT header
È possibile visualizzare la partizione EFI corretta nell'indice 1. Se quella riga non corrisponde esattamente, il modo più semplice è eliminare la partizione al suo posto e ricrearla.
Assicurati di sapere cosa stai facendo prima di procedere da qui: potresti perdere dati se sbagli.
Non è possibile modificare la tabella delle partizioni utilizzando gpt
mentre sono montate le partizioni sull'unità, quindi è necessario eseguire l'avvio da un'altra unità (ad esempio una chiavetta USB con il programma di installazione OSX) o eseguire il mac in modalità disco di destinazione ed eseguire il partizionamento da un altro mac. Potrebbe essere necessario smontare i volumi montati automaticamente utilizzando diskutil unmountDisk disk0
prima di procedere e tra i comandi .
Per eliminare la partizione EFI "errata", eseguire questo comando:
sudo gpt remove -i 1 disk0
Assicurati che disk0 sia davvero il disco che vuoi cambiare - i numeri possono cambiare tra i riavvii. Inoltre, funzionerà solo se si dispone già di una partizione non ESP al posto dell'ESP; in caso contrario, l'eliminazione della partizione 1 potrebbe essere disastrosa! In questo caso, dovrai spostare gli indici, poiché penso che l'ESP debba avere l'indice 1. A quanto pare, questo non sarà necessario nel tuo caso.
Una volta eliminato, aggiungere nuovamente la partizione con il layout corretto e digitare:
sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
Questo dovrebbe risolvere la partizione stessa, ma una volta creata una partizione HFS al suo posto, è necessario correggere anche il suo formato.
Il formato della partizione di sistema EFI è documentato da Apple qui . Come puoi vedere, ti consigliano di clonare un ESP esistente anziché ricreare il file system con newfs_msdos
. Se si dispone di un'unità esterna con una tabella delle partizioni GPT (dovrebbe essere presente nella chiavetta di installazione OSX), è possibile clonarla.
Assicurati di avere i numeri di disco e di partizione nel modo giusto o potresti sovrascrivere i dati:
Se disk1 è l'unità esterna e contiene un ESP come prima partizione (disk1s1) e disk0 è l'unità di cui si desidera correggere ESP (disk0s1), eseguire questo comando:
sudo dd if=/dev/disk1s1 of=/dev/disk0s1
Questo copierà ogni singolo blocco dell'ESP di disk1 e sovrascriverà il blocco corrispondente nell'ESP di disk0 con esso.
In alternativa, fai una scommessa con newfs_msdos
.