Come riparare GPT, GUID e smontabili, senza volumi di tipo rotti?


10

Ho un Macbook Pro con retina, Yosemite e disco rigido da 500 GB. Ho provato a installare Windows usando Bootcamp e ho cancellato accidentalmente una partizione, ora il mio Mac non può più avviarsi. Questo è l'output disudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Ho solo bisogno di rendere la seconda partizione all'indice 2 e digitare FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFper essere nuovamente avviabile. Questa partizione ha FileVault 2 abilitato.

Ma in questo momento, non ho idea di cosa fare.

P / S: ho seguito le istruzioni di @klanomath Boot da un disco rigido esterno con sistema Yosemite completo ma all'ultimo comando per cambiare il tipo di partizione

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Ha ottenuto questo errore:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

Questo è l'output di sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Progresso:

Ho eseguito il comando sudo gpt destroy /dev/disk0

Ma quando ho provato ad aggiungere nuovamente la prima partizione usando questo comando sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Ho subito subito questo errore

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Ora il comando sudo gpt -r show /dev/disk0mi dà questo

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Progresso 2:

Ho eseguito sudo gpt create /dev/disk0 e ho ricevuto questo errore:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

e ho eseguito questo comando sudo fdisk -i -a hfs /dev/disk0per scrivere nuovo MBR ed eseguito di sudo gpt create /dev/disk0nuovo ma ho ottenuto lo stesso erroregpt create: /dev/disk0: error: device contains a MBR

Ora sudo gpt -r show /dev/disk0mi dà questo

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Progresso 3 e finale: D

Innanzitutto un grande ringraziamento a @klanomath, senza l'aiuto, non sono riuscito ad andare così lontano.

Ho eseguito questo comando sudo gpt create -fp /dev/disk0

E questo comando sudo gpt recover /dev/disk0per ottenere l'intestazione GPT secondaria

Successivamente, ho eseguito sudo gdisk /dev/disk0e il disco è montato e funziona correttamente

Risposte:


11

Il tipo di contenuto della seconda partizione è errato. Invece FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFdeve essere 53746F72-6167-11AA-AA11-00306543ECAC.

Per modificare il tipo di contenuto devi avviare la modalità di ripristino di Internet e utilizzare gpt. Inoltre verrà rimossa la quarta partizione (probabilmente la partizione "cancellata"). Si prega di verificare che non contenga alcun dato!

Preparazione:

  • Scollega qualsiasi unità esterna (in particolare l'unità di backup esterna di Time Machine)
  • Riavvia in modalità di recupero Internet premendo alt cmd Rall'avvio.

    I prerequisiti sono l'ultimo aggiornamento del firmware installato, Ethernet o WLAN (WPA / WPA2) e un router con DHCP attivato.
    Su una linea da 50 Mbps sono necessari circa 4 minuti (presentando un piccolo globo animato) per l'avvio in un'immagine netboot di ripristino che di solito viene caricata da un server Apple / Akamai.

    Raccomando ethernet perché è più affidabile. Se sei limitato a WIFI e il processo di avvio non riesce, riavvia il Mac fino a quando non avvii l'avvio.

    In alternativa, è possibile iniziare da una chiavetta di installazione avviabile (preferibilmente Yosemite o El Capitan) o una chiavetta contenente un sistema completo (preferibilmente Yosemite o El Capitan). Se si avvia un sistema completo e si accede come amministratore, è necessario anteporre sudol'esecuzione di comandi speciali come gpt ...!

Rimuovere la quarta partizione e modificare il tipo di contenuto della seconda partizione

  • Avviato in Modalità ripristino Internet aprire Utilità → Terminale nella barra dei menu e immettere: diskutil listper ottenere gli identificatori del disco. Di seguito suppongo che il tuo disco principale abbia gli identificatori del disco disk0.

  • Per prima cosa devi rimuovere la quarta partizione (fallo solo se è davvero vuota!):

    gpt -r show /dev/disk0 #to get an overview
    

    Per eliminare una partizione con gptil disco deve essere smontato:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Quindi devi cambiare il tipo di contenuto della seconda partizione:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    Nel tuo caso:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Ora dovresti ricevere la passphrase di FileVault. Entra
  • Entra exited esci dal Terminale
  • Controllare il volume principale Macintosh HD per errori
  • Esci da Utility Disco e riavvia il volume principale

Addendum: rimozione dell'MBR testardo

È possibile utilizzare fdisko gptper rimuovere l'MBR nel blocco 0. Se si utilizza un prepend utente admin sudoutilizzando i gpt ....comandi.

  • Per prima cosa ottieni di nuovo una panoramica. Questo passaggio è importante prima di distruggere gpt, perché è la fonte per ricostruirlo da zero:

    gpt -r show /dev/disk0
    
  • Quindi eliminare gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Creare una nuova tabella delle partizioni GUID:

    gpt create -f /dev/disk0
    
  • Infine aggiungi tutte le partizioni una per una:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    Suggerimento : è possibile aggiungere e rimuovere le partizioni in un ordine arbitrario se si mantiene il numero indice corretto. Nei comandi precedenti ho aggiunto la terza partizione ( ... -i 3 ...) prima di aggiungere la seconda partizione ( ... -i 2 ...). Quindi non è necessario smontare disk0 perché le partizioni i = 1 e i = 3 non contengono volumi montati automaticamente mentre la seconda partizione lo fa.

    Nella prima parte della mia risposta ho perso il tipo di partizione errata di Recovery HD (la terza partizione con il numero indice 3). Pertanto ho usato:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    sopra invece di quello sbagliato

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    per aggiungerlo nuovamente.

    Se si verificano ancora errori, affrontare l'MBR con fdisk. Se si utilizza un utente amministratore anteporre sudoutilizzando i fdisk ...comandi .:

    fdisk -i -a hfs /dev/disk0
    

    e aggiungi le voci gpt con gpt ...sopra indicato.


Ridimensionare il volume principale per riempire l'intero disco

Infine, probabilmente vorrai ridimensionare il volume principale per riempire l'intero disco.

  • Ottieni una panoramica con:

    diskutil cs list
    

    Potresti avere diversi gruppi di volumi logici CoreStorage, se esegui l'avvio da un'unità esterna con un sistema completo! Usa quello giusto!

  • Ridimensiona l'intero stack:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    Avviato su Yosemite è possibile utilizzare 0gper le dimensioni per espanderlo. 0g è una dimensione "magica" qui.

    diskutil cs resizeStack lvUUID 0g
    

    Avviato a El Capitan devi usare una dimensione reale come 500g. Se ricevi un errore, usa una dimensione leggermente più piccola come 499go 499500m.

    diskutil cs resizeStack lvUUID 500g
    

1
Sono ancora bloccato. In primo luogo, dopo aver eseguito "gpt delete -i 2 / dev / disk0", diceva "gpt: comando sconosciuto: elimina", quindi presumo che debba cambiare 'delete' per 'remove'. Ma all'ultimo comando che devo eseguire, diceva "gpt add: / dev / disk0: errore: spazio non disponibile sul dispositivo"
LN,

Ho seguito le tue istruzioni e pubblicato i risultati nella domanda, grazie
LN

Ho seguito la seconda istruzione, purtroppo mi sono bloccato di nuovo con l'errore "gpt add: / dev / disk0: errore: nessuna intestazione GPT primaria; esegui crea o ripristina". Ho aggiunto i progressi
LN,

nessun problema, ho appena aggiornato i miei progressi. sembra che non potrei liberarmi dell'MBR
LN il

1
Beh, sarebbe stato utile sapere quando questo stesso esatto problema mi è successo qualche mese fa ... klanomath non manca mai di stupirmi di quanto sa di Mac. Ho finito per perdere tutti i miei dati.
Flare Cat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.