La tabella delle partizioni di disk0 non è affatto rovinata - tutte le modifiche apportate sono piuttosto indesiderate .
Tutte le partizioni e i volumi (EFI, Common, macOS e Extra) sono correttamente contrassegnati e un diskutil verifyVolume disk0sY
probabilmente uscirà senza errori.
Una tabella delle partizioni rovinata mancherebbe l'intestazione e la tabella della partizione secondaria, oppure l'intestazione / tabella primaria e secondaria sono diverse, oppure i checksum CRC-32 dell'intestazione e le voci della tabella delle partizioni non sono validi.
La tua tabella delle partizioni ha il seguente aspetto:
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 91672536
92082176 168686104 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
260768280 262144
261030424 177477424 3 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
438507848 51464720 4 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
489972568 262151
490234719 32 Sec GPT table
490234751 1 Sec GPT header
La prima partizione con una dimensione di 209,7 MB - la partizione EFI standard - è seguita da spazio su disco non allocato con una dimensione di 46,94 GB.
La seconda partizione è una partizione HFS + standard con una dimensione di 86,37 GB seguita da spazio su disco non allocato con una dimensione (standard) di 134,2 MB.
Il terzo è una partizione del contenitore APFS con una dimensione di 90,87 GB. La quarta partizione è un'altra partizione HFS + standard con una dimensione di 26,35 GB.
Un layout di partizione SSD predefinito dovrebbe essere simile a questo dopo aver installato High Sierra (APFS) e una partizione BOOTCAMP:
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 X 2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
X+409640 262144
X+671784 Y 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
X+Y+671784 ... ...
Il secondo spazio disco non allocato (262144 blocchi) potrebbe essere più piccolo o più grande.
Di conseguenza dipende dalla dimensione della vecchia partizione macOS se alcune parti di esso sono state sovrascritte o meno.
- Se X era uguale o inferiore a 91672536 (blocchi), la vecchia partizione macOS può essere ripristinata completamente.
- Se X era maggiore di 91672536 (blocchi) e minore di 260358640 (= 91672536 + 168686104) (blocchi) parti della vecchia partizione del contenitore macOS venivano sovrascritte creando il Comune volume. La creazione di un nuovo volume vuoto di solito richiede circa 120 MB - 500 MB per scrivere alcuni metadati del file system. A seconda delle dimensioni del sistema APFS / del suo avvio / recupero, alcune parti potrebbero essere state sovrascritte.
Se il primo blocco del tuo contenitore APFS scomparso (incluso il vecchio volume di sistema APFS macOS) non è stato sovrascritto, puoi rilevare la sua precedente dimensione:
- Avvia su un'unità esterna con macOS installato
-
Apri il Terminale e ottieni i soliti dettagli relativi al disco (qui sotto presumo che l'SSD interno abbia l'identificatore del disco disco0):
diskutil list
sudo gpt -r show disk0
-
Smonta l'SSD
diskutil umountDisk disk0
-
dd / hexdump block 409640:
sudo dd if=/dev/disk0 bs=512 skip=409640 count=1 | hexdump
che produrrà qualcosa come questo (solo per esempio!):
1+0 records in
1+0 records out
512 bytes transferred in 0.001917 secs (267067 bytes/sec)
0000000 b9 e9 ff cb a4 6d fc f3 01 00 00 00 00 00 00 00
0000010 fc da 09 00 00 00 00 00 01 00 00 80 00 00 00 00
0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040 02 00 00 00 00 00 00 00 d8 36 06 fb 2f 1f 42 7a
0000050 b2 90 f5 cc 5c 85 9f 36 13 6f 08 00 00 00 00 00
0000060 fd da 09 00 00 00 00 00 18 01 00 00 18 6c 00 00
0000070 21 3c 06 00 00 00 00 00 28 c9 05 00 00 00 00 00
0000080 70 00 00 00 18 0f 00 00 6e 00 00 00 02 00 00 00
0000090 bc 0e 00 00 5c 00 00 00 af 6b 00 00 00 00 00 00
00000a0 69 ad 04 00 00 00 00 00 01 04 00 00 00 00 00 00
00000b0 00 00 00 00 64 00 00 00 03 04 00 00 00 00 00 00
00000c0 a4 6b 00 00 00 00 00 00 a6 6b 00 00 00 00 00 00
00000d0 a6 0d 01 00 00 00 00 00 00 00 00 00 00 00 00 00
00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000200
la terza riga è quella importante:
...
0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
...
-
4e 58 53 42
: stringa magica di un contenitore APFS
-
00 10 00 00
: dimensione blocco APFS: 4096
-
29 ea 22 01 00 00 00 00
Dimensione contenitore APFS in blocchi APFS: 19065385 (= 152523080 blocchi 512)
Dopo aver riordinato i byte 29 ea 22 01 00 00 00 00
> 00 00 00 00 29 ea 22 01
> 00 00 00 00 01 22 ea 29
, puoi ottenere il valore decimale qui :
La dimensione del vecchio contenitore APFS in 512 (blocchi) è quindi dimensione del blocco APFS x dimensione del contenitore nei blocchi APFS. Nell'esempio questo è 4096/512 * 19065385 = 152523080 blocchi.
-
a seconda delle dimensioni precedenti rimuovi la 2a partizione:
diskutil umountDisk disk0
sudo gpt remove -i 2 /dev/disk0
-
ripristina la vecchia partizione (qui con le dimensioni dell'esempio: 152523080 blocchi (512) - non usare questo accidentalmente! ):
diskutil umountDisk disk0
sudo gpt add -i 2 -b 409640 -s 152523080 -t 7C3457EF-0000-11AA-AA11-00306543ECAC /dev/disk0
-
controlla il contenitore APFS
diskutil verifyVolume disk0s2
-
controlla il volume del sistema APFS
diskutil list #get the device identifier of the APFS system volume and use it below (probably disk2s2)
diskutil verifyVolume diskXsY
Se hai problemi ad analizzare il dump esadecimale o altri risultati e messaggi di errore, lascia un commento!