Comment réparer le GPT cassé, le GUID et les volumes non montables, sans type?

10

J'ai un Macbook Pro avec rétine, Yosemite et disque dur de 500 Go. J'ai essayé d'installer Windows en utilisant Bootcamp et j'ai accidentellement supprimé une partition, maintenant mon Mac ne peut plus démarrer. Ceci est la sortie desudo 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

Il me suffit de créer la deuxième partition à l'index 2 et de taper FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFpour être à nouveau amorçable. FileVault 2 est activé sur cette partition.

Mais pour l'instant, je n'ai aucune idée de quoi faire.

P / S: J'ai suivi les instructions de @klanomath Boot à partir d'un disque dur externe avec un système Yosemite complet mais à la dernière commande pour changer le type de partition

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

Il a obtenu cette erreur:

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

Ceci est la sortie de 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

Le progrès:

J'ai exécuté la commande sudo gpt destroy /dev/disk0

Mais quand j'ai essayé d'ajouter la première partition en utilisant cette commande sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

J'ai eu cette erreur tout de suite

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

Maintenant, la commande sudo gpt -r show /dev/disk0me donne ceci

   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

Progrès 2:

J'ai exécuté sudo gpt create /dev/disk0 et obtenu cette erreur:

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

et j'ai exécuté cette commande sudo fdisk -i -a hfs /dev/disk0pour écrire un nouveau MBR et exécuté à sudo gpt create /dev/disk0nouveau mais j'ai obtenu la même erreurgpt create: /dev/disk0: error: device contains a MBR

Me sudo gpt -r show /dev/disk0donne maintenant ceci

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

Progression 3 et finale: D

Tout d'abord un grand merci à @klanomath, sans l'aide, je ne pourrais pas aller aussi loin.

J'ai exécuté cette commande sudo gpt create -fp /dev/disk0

Et cette commande sudo gpt recover /dev/disk0pour obtenir l'en-tête GPT secondaire

Après cela, j'ai exécuté sudo gdisk /dev/disk0et le disque est monté et fonctionne correctement

LN
la source

Réponses:

11

Le type de contenu de la deuxième partition est incorrect. Au lieu de FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFcela doit être 53746F72-6167-11AA-AA11-00306543ECAC.

Pour modifier le type de contenu, vous devez démarrer en mode de récupération Internet et utiliser gpt. De plus, la quatrième partition sera supprimée (probablement la partition "supprimée"). Veuillez vérifier qu'il ne contient aucune donnée!

Préparation:

  • Détachez tout disque externe (en particulier votre disque de sauvegarde Time Machine externe)
  • Redémarrez en mode de récupération Internet en appuyant sur alt cmd Rau démarrage.

    Les prérequis sont la dernière mise à jour du firmware installée, Ethernet ou WLAN (WPA / WPA2) et un routeur avec DHCP activé.
    Sur une ligne de 50 Mbps, il faut environ 4 minutes (présentant un petit globe animé) pour démarrer dans une image de récupération de démarrage qui est généralement chargée à partir d'un serveur Apple / Akamai.

    Je recommande Ethernet car il est plus fiable. Si vous êtes limité au WIFI et que le processus de démarrage échoue, redémarrez simplement votre Mac jusqu'à ce que vous réussissiez le démarrage.

    Alternativement, vous pouvez démarrer à partir d'une clé USB d'installation de démarrage (de préférence Yosemite ou El Capitan) ou d'une clé USB contenant un système complet (de préférence Yosemite ou El Capitan). Si vous démarrez sur un système complet et que vous vous connectez en tant qu'administrateur, vous devez ajouter au préalable sudopour exécuter des commandes spéciales comme gpt ...!

Supprimez la quatrième partition et modifiez le type de contenu de la deuxième partition

  • Démarré en mode de récupération Internet, ouvrez Utilitaires → Terminal dans la barre de menu et entrez: diskutil listpour obtenir les identificateurs de disque. Ci-dessous, je suppose que votre disque principal a les identificateurs de disque disk0.

  • Vous devez d'abord supprimer la quatrième partition (ne le faites que si elle est vraiment vide!):

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

    Pour supprimer une partition avec gptle disque doit être démonté:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Ensuite, vous devez changer le type de contenu de la deuxième partition:

    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
    

    Dans ton cas:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Vous devez maintenant être invité à saisir la phrase secrète FileVault. Entrez-le.
  • Entrer exitet quitter le terminal
  • Vérifiez le volume principal Macintosh HD pour les erreurs
  • Quittez l' Utilitaire de disque et redémarrez votre volume principal

Addendum: Suppression du MBR tenace

Vous pouvez utiliser fdiskou gptpour supprimer le MBR au bloc 0. Si vous utilisez un administrateur, ajoutez le préfixe sudoà l'aide des gpt ....commandes.

  • Obtenez à nouveau un aperçu. Cette étape est importante avant de détruire le gpt, car c'est la source pour le reconstruire à partir de zéro:

    gpt -r show /dev/disk0
    
  • Supprimez ensuite le gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Créez une nouvelle table de partition GUID:

    gpt create -f /dev/disk0
    
  • Enfin, ajoutez toutes les partitions une par une:

    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
    

    Astuce : vous pouvez ajouter et supprimer des partitions dans un ordre arbitraire si vous conservez le bon numéro d'index. Dans les commandes ci-dessus, j'ai ajouté la troisième partition ( ... -i 3 ...) avant d'ajouter la deuxième partition ( ... -i 2 ...). Vous n'avez donc pas à démonter disk0 car les partitions i = 1 et i = 3 ne contiennent pas de volumes montés automatiquement alors que la deuxième partition en contient.

    J'ai manqué de détecter le mauvais type de partition de votre Recovery HD (la troisième partition avec le numéro d'index 3) dans la première partie de ma réponse. J'ai donc utilisé:

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

    au-dessus au lieu du mauvais

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

    pour le rajouter.

    Si vous obtenez toujours des erreurs, attaquez le MBR avec fdisk. Si vous utilisez un préfixe administrateur en sudoutilisant les fdisk ...commandes:

    fdisk -i -a hfs /dev/disk0
    

    et ajoutez les entrées gpt gpt ...décrites ci-dessus.


Redimensionner le volume principal pour remplir tout le disque

Enfin, vous souhaiterez probablement redimensionner le volume principal pour remplir tout le disque.

  • Obtenez un aperçu avec:

    diskutil cs list
    

    Vous pouvez avoir plusieurs groupes de volumes logiques CoreStorage, si vous démarrez à partir d'un disque externe avec un système complet! Utilisez le bon!

  • Redimensionnez la pile entière:

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

    Démarré sur Yosemite, vous pouvez utiliser 0gla taille pour l'agrandir. 0g est une taille "magique" ici.

    diskutil cs resizeStack lvUUID 0g
    

    Démarré sur El Capitan, vous devez utiliser une taille réelle comme 500g. Si vous obtenez une erreur, utilisez une taille légèrement plus petite comme 499gou 499500m.

    diskutil cs resizeStack lvUUID 500g
    
klanomath
la source
1
Je suis toujours coincé. Premièrement, après avoir exécuté "gpt delete -i 2 / dev / disk0", il a dit "gpt: unknown command: delete" donc je suppose que je dois changer 'delete' en 'remove'. Mais à la dernière commande que j'ai besoin d'exécuter, il a dit "gpt add: / dev / disk0: erreur: aucun espace disponible sur le périphérique"
LN
J'ai suivi vos instructions et affiché les résultats dans la question, merci
LN
J'ai suivi la deuxième instruction, malheureusement je suis de nouveau coincé avec l'erreur "gpt add: / dev / disk0: erreur: pas d'en-tête GPT principal; exécutez create ou restore". J'ai ajouté la progression
LN
pas de soucis, je viens de mettre à jour mes progrès. on dirait que je ne pouvais pas me débarrasser du MBR
LN
1
Eh bien, cela aurait été utile de savoir quand ce même problème m'est arrivé il y a quelques mois ... klanomath ne manque jamais de m'étonner de tout ce qu'il sait sur les macs. J'ai fini par perdre toutes mes données.
Flare Cat