GParted in realtà non creava spazio su disco non allocato. Invece l'MBR è diventato fasullo. Il CoreStorage LVG e tutti i contenitori successivi sono stati corrotti anche perché l'intero stack non è stato ridimensionato come richiesto. Di solito - in macOS - l'intero stack viene ridimensionato con il comando diskutil cs resizeStack ...
. Per quanto posso dire da remoto, il limite finale della seconda partizione è stato semplicemente spostato in numeri di blocco più bassi che normalmente funzionano con normali volumi HFS + in GParted, ma non in questo caso con uno stack CoreStorage. Fortunatamente alcune strutture di dati invisibili dello stack CS non sono state sovrascritte.
Inoltre, la partizione di ripristino non è stata spostata correttamente. Ma questo è un problema diverso.
Al posto dell'MBR dovresti avere un pMBR. Dopo aver rimosso l'MBR falso devi distruggere e ricreare la tabella delle partizioni GUID:
- Avvio in modalità ripristino Internet
- Apri terminale nella barra dei menu Utilità - > Terminale
-
Ottieni una panoramica (in particolare il comando gpt è importante!):
diskutil list
gpt -r show disk0
-
Smonta disco0:
diskutil umountDisk /dev/disk0
-
Elimina l'MBR:
dd if=/dev/zero of=/dev/disk0 bs=512 count=1
-
Distruggi la tabella delle partizioni GUID e creane una nuova (questo crea anche un nuovo pMBR):
gpt destroy disk0
gpt create -f disk0
-
Ricostruisci tutte le precedenti partizioni GUID:
gpt add -i 1 -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
gpt add -i 3 -b 488965176 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
gpt add -i 2 -b 409640 -s 409602008 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Se si verifica un errore di risorsa esaurita dopo uno dei passaggi, è sufficiente smontare di nuovo disk0 con
diskutil umountDisk /dev/disk0
Controlla successivamente il disco con diskutil verifyDisk disk0
.
Inserisci diskutil cs list
e controlla se sono visualizzati tutti e quattro i contenitori CoreStorage: un gruppo di volumi logici, un volume fisico e una famiglia di volumi logici e un volume logico.
Con l'UUID del volume logico, montare LV:
Esempio:
+-> Logical Volume 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
---------------------------------------------------
Disk: disk17
Status: Online
Quindi usa:
diskutil mount 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
Quindi, dopo aver ottenuto l'identificativo del disco del VS montato con diskutil list
, verifica il volume:
diskutil verifyVolume disk17 # probably it's disk17, disk16 or disk18
Qui sotto presumo che l'identificativo del disco sia disk17
Se la famiglia del volume logico e il volume logico non appaiono, prova quanto segue:
- Avvio in modalità ripristino Internet
- Apri terminale nella barra dei menu Utilità - > Terminale
-
Ottieni una panoramica (in particolare il comando gpt è importante!):
diskutil list
gpt -r show disk0
-
Smonta disco0:
diskutil umountDisk /dev/disk0
-
Rimuovi la voce della partizione corrente per la seconda partizione:
gpt remove -i 2 disk0
-
Aggiungi una nuova voce "espansa" seconda partizione:
gpt add -i 2 -b 409640 -s 488555536 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
-
Quindi ripeti tutti i passaggi di verifica:
Controlla successivamente il disco con diskutil verifyDisk disk0
.
Inserisci diskutil cs list
e controlla se sono visualizzati tutti e quattro i contenitori CoreStorage: un gruppo di volumi logici, un volume fisico e una famiglia di volumi logici e un volume logico.
Con l'UUID del volume logico, montare LV:
Esempio:
+-> Logical Volume 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
---------------------------------------------------
Disk: disk17
Status: Online
Quindi usa:
diskutil mount 9A7B21AA-F9FE-4E65-8C7E-ED2A73744C15
Quindi, dopo aver ottenuto l'identificativo del disco del VS montato con diskutil list
, verifica il volume:
diskutil verifyVolume disk17 # probably it's disk16, disk17 or disk18
Se si verificano errori durante il backup dei dati o dell'intera partizione su un volume esterno, riparare il volume con diskutil repairVolume disk17
.
Una possibilità di eseguire il backup dei dati è dd
. Allegare un'unità formattata HFS + con almeno 250 GB di spazio libero. Ottieni il percorso per il volume esterno con ls /Volumes
. Quindi smontare disk17 e disk0 con diskutil umountDisk disk17
e diskutil umountDisk disk0
.
Quindi clonare la partizione in un file:
dd if=/dev/disk0s2 of=/Volumes/ExternalDriveName/disk0s2.rawdevice bs=4m
Se il nome del volume contiene spazi, sfuggi agli spazi con barre retroverse: ...of=/Volumes/ExternalDriveName\ With\ Spaces/disk0s2.rawdevice...
.
Puoi anche usare asr
per ripristinare la partizione su un altro disco (come "backup" temporaneo). Controlla man asr
.