Come riparare GPT rotto, GUID e smontabile, nessun tipo di volume?

9

Ho un MacBook Pro con retina, Yosemite e disco rigido da 500 GB. Ho provato ad installare Windows usando Bootcamp e ho cancellato accidentalmente una partizione, ora il mio Mac non può più avviarsi. Questo è l'output di sudo 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 creare la seconda partizione all'indice 2 e digitare FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF per essere riavviabile. Questa partizione ha FileVault 2 abilitato.

Ma al momento, non ho idea di cosa fare.

P / S: I Segui le istruzioni di @klanomath Avvio 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 ricevuto 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

Progress:

Ho eseguito il comando sudo gpt destroy /dev/disk0

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

Ho ricevuto 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/disk0 mi 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

Avanzamento 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/disk0 per scrivere un nuovo MBR ed eseguito di nuovo sudo gpt create /dev/disk0 ma ha ottenuto lo stesso errore gpt create: /dev/disk0: error: device contains a MBR

Ora sudo gpt -r show /dev/disk0 mi dà questo

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

Avanzamento 3 e finale: D

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

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

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

Dopodiché, ho eseguito sudo gdisk /dev/disk0 e il disco è montato e funziona correttamente

    
posta L N 27.12.2015 - 14:55
fonte

1 risposta

10

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

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

Preparazione:

  • Scollega qualsiasi unità esterna (in particolare l'unità di backup Time Machine esterna)
  • Riavvia a Internet Recovery Mode premendo alt cmd R all'avvio.

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

    Raccomando Ethernet perché è più affidabile. Se sei limitato a Wi-Fi e il processo di avvio non riesce, riavvia il tuo Mac fino al tuo avvio.

    In alternativa puoi iniziare da una pen drive installer avviabile (preferibilmente Yosemite o El Capitan) o una pen drive contenente un sistema completo (preferibilmente Yosemite o El Capitan). Se fai il boot su un sistema completo e accedi come amministratore devi anteporre sudo per eseguire comandi speciali come gpt ... !

Rimuovi la quarta partizione e modifica il tipo di contenuto della seconda partizione

  • Avviato in modalità ripristino Internet apri Utilità → Terminale nella barra dei menu e inserisci: diskutil list per ottenere gli identificatori del disco. Qui sotto presumo che il tuo disco principale abbia gli identificatori del disco disk0.

  • Prima devi rimuovere la quarta partizione (fallo solo se è veramente vuota!):

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

    Per eliminare una partizione con gpt il disco deve essere smontato:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Quindi devi modificare 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 ti dovrebbe essere chiesta la passphrase di FileVault. Inseriscilo.
  • Inserisci exit e chiudi Terminale
  • Controlla il volume principale Macintosh HD per gli errori
  • Esci Utility Disco e riavvia il volume principale

Addendum: rimozione dell'MBR testardo

Puoi utilizzare fdisk o gpt per rimuovere l'MBR al blocco 0. Se utilizzi un utente amministratore prepend sudo utilizzando i comandi gpt .... .

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

    gpt -r show /dev/disk0
    
  • Quindi elimina il gpt:

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

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

    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 : puoi aggiungere e rimuovere partizioni in un ordine arbitrario se mantieni il giusto numero di indice. Nei comandi precedenti ho aggiunto la terza partizione ( ... -i 3 ... ) prima di aggiungere la seconda partizione ( ... -i 2 ... ). Non è necessario smontare il disco0 perché le partizioni i = 1 e i = 3 non contengono volumi montati automaticamente mentre la seconda partizione lo fa.

    Mi mancava il rilevamento del tipo di partizione errato del tuo Recovery HD (la terza partizione con il numero indice 3) nella prima parte della mia risposta. Quindi ho usato:

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

    sopra invece del 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 di nuovo.

    Se continui ad avere errori, affronta l'MBR con fdisk . Se utilizzi un utente amministratore prepend sudo utilizzando i comandi fdisk ... .:

    fdisk -i -a hfs /dev/disk0
    

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

Ridimensionamento del 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 a Yosemite puoi usare 0g per la dimensione 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, utilizza una dimensione leggermente più piccola come 499g o 499500m .

    diskutil cs resizeStack lvUUID 500g
    
risposta data 27.12.2015 - 15:51
fonte

Leggi altre domande sui tag