Données non sauvegardées, type de partition: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF

20

J'essayais d'installer Linux sur mon MacBook pour les cours lorsque j'ai bricolé mon ordinateur, qui est maintenant dans un état non amorçable.

J'ai rendu ma partition trop petite, donc j'allais supprimer et créer une plus grande. Cependant, l'Utilitaire de disque ne m'a pas permis de supprimer la petite partition. J'ai suivi les instructions de /apple//a/238088/236252

Cependant, non seulement je ne pouvais toujours pas le supprimer, mais au redémarrage, j'ai réalisé que ma partition principale (située sur le même disque) était devenue FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF et je n'avais aucune option pour démarrer. (Je suis sûr d'avoir exécuté la commande sur le disque et la partition appropriés)

J'ai vu des threads similaires, mais mon lecteur de démarrage principal est celui qui a été corrompu.

Je ne veux pas perdre de données. Je ne suis pas le plus averti des terminaux, donc TOUTE aide est appréciée, et je fournirai avec bonté toute information supplémentaire!

(Le disque 0, la partition 2 est ma partition principale, et cette seule dont je me soucie)

Voici les résultats de $ diskutil list et $ gpt -r show disk0 .

entrez la description de l'image ici

entrez la description de l'image ici


MISE À JOUR:: J'ai suivi les instructions de @klanomath. À la dernière étape, j'ai reçu l'erreur suivante:

Checking prerequisites
Checking the partition list
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Problems were found with the partition map which might prevent booting
Error: -69766: The partition map needs to be repaired because there's a problem with the EFI system partition's file system
Underlying error: 8: POSIX reports: Exec format error 

MISE À JOUR FINALE: SUCCÈS!

Je voulais juste remercier @klanomath de m'avoir aidé tout au long de ce processus. Il a passé 11 heures avec TeamViewing jusqu'à ce que non seulement mes fichiers soient accessibles, mais jusqu'à ce que je puisse accéder à mon ordinateur comme avant cette débâcle (et ce après 5 heures de correspondance par e-mail).

Pour tout futur lecteur avec ce problème: S'IL VOUS PLAÎT n'abandonnez pas, il peut être résolu!

À mi-chemin
la source
Oui, je voudrais supprimer la partition deleteme. J'ai regardé ce post, mais je craignais que "gpt remove" efface le contenu de mon disque?
HalfwayThere
Oui! J'ai tout sauvegardé avec Time Machine maintenant.
Plus
;-) ............
klanomath

Réponses:

25

Pour ajouter une réponse parfaitement adaptée à votre cas, j'ai légèrement modifié ma réponse dans le " duplicata " lié et je l'ai posté ici à nouveau.


La deuxième ainsi que la troisième partition de votre disque interne ont le mauvais type de partition, vos données ne seront probablement pas perdues.

Une partition OS X amorçable (à l'exception de Recovery HD) possède le GUID 48465300-0000-11AA-AA11-00306543ECAC pour une partition OS X standard ou le GUID 53746F72-6167-11AA-AA11-00306543ECAC pour une partition CoreStorage. Le FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF est un type de partition inconnu (mais pas aucune partition comme celle 000000-0000-0000 ....).

Le premier bloc d'une partition OS X standard ne contient pas de zéros, le premier bloc d'une partition CoreStorage contient des non-zéros. Pour obtenir les 3 premiers blocs d'une partition, vous devez utiliser un substitut pour hexdump / xxd (les deux ne sont pas disponibles dans le lecteur de démarrage du mode de récupération / OS X Installer). Le meilleur que j'ai trouvé est dd if=/dev/diskXsY count=3 | vis -c.

La table de partition GUID peut être modifiée avec gpt. gpt n'écrit que sur les 34 premiers et les 33 derniers blocs d'un disque (512) ou sur les 6 premiers et 5 derniers blocs d'un disque 4k. La modification de la table de partition (même à tort) ne modifie pas le contenu d'un volume sur votre disque, si vous n'initialisez pas ou ne réparez pas un volume / disque sur demande. Vous pouvez cependant le vérifier.


  • Démarrez en mode de récupération Internet ou sur un lecteur de démarrage du programme d'installation OS X
  • Ouvrez Terminal dans la barre de menus Utilitaires> Terminal
  • Obtenez un aperçu avec diskutil list
  • Obtenez une vue d'ensemble de votre disque interne avec l'identifiant de disque trouvé dans la commande précédente. Ci-dessous, je suppose que l'identifiant de disque de votre disque interne est disk0 (remplacez-le par celui que vous avez trouvé dans votre environnement)

    gpt -r show disk0
    
  • Démontez disk0 avec diskutil umountDisk disk0
  • vis les 3 premiers blocs de la partition FFFF ...:

    dd if=/dev/disk0s2 count=3 | vis -c
    
    1. Si vous aviez une partition standard auparavant, les 1024 premiers octets ne contiennent que des zéros non imprimables: \ 0 \ 0 ... À ~ octet 1030, vous verrez la séquence suivante: \ 0HFSJ \ 0

    2. Si vous aviez une partition CoreStorage, certains non-zéros dans les 512 premiers octets et la chaîne CS ( ...\0CS\^A...) sont affichés:

      \^U\^D\^A\M-s\M^?\M^?\M^?\M^?\^A\0\^P\0\0\0\M-W\^A\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\M^Pu\M-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0CS\^A\0\0\0\^D\0\0\^P\0\0\0\0@\0X\M-7}\^C\0\0\0\0X\M-;}\^C\0\0\0\0X\M-?}\^C\0\0\0\0X\M-C}\^C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^P\0\0\0\^B\0\0\0006j v\^R\M-+\^U\M^[\f\M^CdG\M-y\^]...
      
  • Supprimez maintenant la troisième, la quatrième et la deuxième partition:

    diskutil umountDisk disk0
    gpt remove -i 3 disk0
    diskutil umountDisk disk0
    gpt remove -i 4 disk0
    gpt remove -i 2 disk0
    

    Si vous obtenez un message d'erreur comme «ressource occupée», démontez à nouveau le disque ou démontez les volumes tenaces avec diskutil umount disk0sX.

    Ajoutez à nouveau la partition de récupération avec le type approprié mais le même numéro d'index, le bloc de démarrage et la taille qu'il avait précédemment:

    gpt add -i 3 -b 227212504 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
    

    Ajoutez à nouveau la partition principale avec le type approprié mais le même numéro d'index, le bloc de démarrage et la taille qu'il avait précédemment:

    Soit une partition OS X normale (si vous avez trouvé les traces typiques d'une partition normale à l' dd ... visétape):

    gpt add -i 2 -b 409640 -s 226802864 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
    

    ou (si vous avez trouvé les traces typiques d'une partition CoreStorage):

    gpt add -i 2 -b 409640 -s 226802864 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
    
  • Votre disque devrait enfin ressembler à ceci si vous avez trouvé une partition OS X standard:

        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  226802864      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
    227212504    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC        
    228482040    8496103
    236978143         32         Sec GPT table
    236978175          1         Sec GPT header
    

    ou ceci, si vous avez trouvé un volume CoreStorage:

        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  226802864      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
    227212504    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC        
    228482040    8496103
    236978143         32         Sec GPT table
    236978175          1         Sec GPT header
    
  • Enfin, vérifiez / réparez le disque avec diskutil verifyDisk disk0et / ou diskutil verifyVolume disk0s2. Si une réparation est nécessaire, utilisez la réparation (au lieu de vérifier) ​​comme préfixe dans les commandes ci-dessus, mais contactez-moi avant de la réparer et envoyez-moi le message d'erreur .


Des investigations supplémentaires via des sessions TeamViewer ont révélé que la partition EFI et la partition Recovery HD étaient corrompues. Le volume principal est crypté. Le Recovery HD contient alors une clé FileVault intermédiaire spéciale. Si la clé est manquante, le système principal ne démarre pas. Il était possible de déverrouiller le lecteur avec diskutil cs unlockVolume ....

Après avoir installé un macOS complet sur une clé USB et y avoir démarré, la partition EFI et le Recovery HD d'un autre disque non FileVault (en fait ceux d'une Sierra VM) ont été ajoutés au disque cassé. Toujours démarré à partir de la clé USB, le volume FileVault a été rétabli à un volume standard en cliquant avec le bouton droit sur le volume dans le Finder, en choisissant "Déchiffrer le volume" et en entrant un mot de passe utilisateur valide. Il doit s'agir du mot de passe d'un compte utilisateur éligible sur le volume FileVault. D'autres méthodes pour décrypter le volume comme diskutil cs revert lvUUIDou diskutil cs decryptVolume lvUUID- testées uniquement sur une machine virtuelle - ne semblaient pas fonctionner. Cela pourrait cependant être une restriction des machines virtuelles.

Pour développer la partition principale (disk0s2) à sa taille maximale, utilisez l'Utilitaire de disque ou la diskutil resizeVolume ...commande.

Au départ, le volume n'apparaissait pas dans Préférences Système> Disque de démarrage, mais le altdémarrage du Mac a dévoilé le volume principal. Cela a probablement re-béni correctement le boot.efi du volume. Le volume (désormais standard) apparaît à nouveau dans le disque de démarrage.

klanomath
la source
Merci d'avoir pris le temps de nous aider. Je voulais juste être clair à ce sujet: dans votre article ci-dessus, pour votre 7e puce, lorsque vous dites "maintenant, supprimez la troisième, la quatrième et la deuxième partition" avec "gpt remove", cela n'effacera-t-il pas mes données sur la deuxième partition (quelle est celle dont je me soucie)?
HalfwayThere
Désolé d'avoir raté ça! Je suis un peu frénétique en ce moment
HalfwayThere
J'ai reçu une erreur à la dernière étape lors de la vérification de disk0. 'Erreur: -69766: le mappage de partition doit être réparé car il y a un problème avec le système de fichiers de la partition système EFI. Erreur sous-jacente: 8: Rapports POSIX: Erreur de format Exe '
HalfwayThere
@HalfwayThere Il s'agit d'une erreur laide mais votre MacBook peut toujours être restauré dans un état amorçable. Essayez juste de le démarrer. L'erreur EFI est probablement le résultat de l'installation de Linux et doit être résolue avec d'autres outils / dans une 2ème étape ...
klanomath
1
+1 C'est une excellente réponse! Non seulement cela résout le problème, mais il informe également les utilisateurs en cours de route. Vous avez vraiment fait tout votre possible pour aider le PO et j'espère que vous obtiendrez beaucoup plus de votes pour cela! :)
Monomeeth
1

Ce problème peut également survenir lors d'une session APFS High Sierra vivante ! J'ai eu ce problème hier, après avoir apporté des modifications à l'application et aux diskutilcommandes de l' Utilitaire de disque , j'ai trouvé ceci:

    sh-3.2# diskutil list
    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               60.0 GB    disk0s2

    /dev/disk1 (synthesized):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      APFS Container Scheme -                      +60.0 GB    disk1
                                     Physical Store disk0s2
       1:                APFS Volume APPLESSD                47.1 GB    disk1s1
       2:                APFS Volume Preboot                 19.4 MB    disk1s2
       3:                APFS Volume Recovery                517.8 MB   disk1s3
       4:                APFS Volume VM                      1.1 GB     disk1s4

    sh-3.2# gpt -r show /dev/disk0
          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  117111080      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
      117520720  859584307         
      977105027         32         Sec GPT table
      977105059          1         Sec GPT header

Je ne pense pas qu'il redémarrerait dans cette configuration (ou peut-être avec une table de sauvegarde GPT? Aucune idée). Merci l'explication ci-dessus, j'ai pu résoudre le problème lors de la session en direct, mais j'ai dû utiliser une solution légèrement différente ( cette solution ne fonctionne qu'avec SIP désactivé, si elle est activée, vous devrez redémarrer, désactiver et utiliser la solution précédente . , ce problème est peut-être lié au SIP désactivé, donc il ne se produira pas sur le SIP activé? Je ne sais pas.)

Même avec disk0démonté, il ne semble gptpas possible de modifier le GPT pendant une session en direct:

sh-3.2# gpt remove -i 2 disk0
gpt remove: unable to open device 'disk0': Resource busy

Au lieu de cela, j'ai utilisé un outil tiers gdisk(je l'ai obtenu via homebrew) pour modifier le type de disk0s2:

sh-3.2# gdisk /dev/disk0
GPT fdisk (gdisk) version 1.0.3

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'

Command (? for help): t
Partition number (1-2): 2
Current type is 'Unknown'
Hex code or GUID (L to show codes, Enter = af00): 7C3457EF-0000-11AA-AA11-00306543ECAC    
Changed type of partition to 'Unknown'

Command (? for help): i
Partition number (1-2): 2
Partition GUID code: 7C3457EF-0000-11AA-AA11-00306543ECAC (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.

Vérification:

sh-3.2# gpt -r show /dev/disk0
      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  117111080      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  117520720  859584307         
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header
sh-3.2# diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         60.0 GB    disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +60.0 GB    disk1
                                 Physical Store disk0s2
   1:                APFS Volume APPLESSD                47.1 GB    disk1s1
   2:                APFS Volume Preboot                 19.4 MB    disk1s2
   3:                APFS Volume Recovery                517.8 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

Ensuite, vérifiez avec diskutil verifyDisk disk0et diskutil verifyVolume disk0s2sans avertissement ni erreur. Redémarrage réussi.

Bonjour le monde
la source