10.15 Catalina Disque de démarrage introuvable mais existant, impossible de boot ...

clemzangrilli

Membre confirmé
3 Septembre 2012
18
0
Bonjour,

Comme la plupart des personnes avec un problème de boot, le problème est survenu en essayant d'installer linux en dual boot. J'avais réussi mais j'ai dû ré-installer, et pour ce faire j'ai fait une fausse manip : j'ai formaté le bon disque (40go dédié à Linux), mais en format APFS. Lorsque j'ai redémarré, je soupçonne un problème avec reFind, la seule partition disponible avec la touche option est "EFI Grub", qui m'ouvre un terminal minimaliste.
Je tiens énormément à mes données et je cherche juste à les récupérer, je m'en fiche de faire une clean install derrière. Si vous pouviez m'aidez vous seriez mes sauveurs.

Pour gagner du temps, je vous dresse la liste de ce que j'ai déjà fait (en lisant les messages d'autres utilisateurs) :

  • Démarrage avec la touche option enfoncée : Uniquement une partition "EFI Grub"
  • Démarrage en recovery avec cmd+r : obligé de passer sur le recovery par internet
Dans utilitaire de disque :​
- MacintoshHD est bien présent et les partitions également.​
- J'ai essayé de vérifier et réparer tous les disques, à chaque fois un message en vert qui dit qu'il n'a détecté aucun problème​
- J'ai essayé d'effacer la partition linux et j'ai maintenant un espage libre de 40 GO​
Dans réinstallation MaxOSX : Aucun disque de démarrage trouvé pour la réinstallation​

  • J'ai installé macosx sur un dd externe en mode récupération, et essayé l'assistant migration de donné pour récupérer le disque d'origine, comme le suggère le site d'apple : Aucun disque détecté
  • J'ai essayé un reset de la SRAM, DRAM, démarrage sans échec, juste au cas où ...

État actuel des choses :
  • Mes données sont toujours inaccessibles et impossible de boot sur mon dd interne.
  • J'envoie ce message de mon dd externe avec macOSX 10.9.5 dessus (version de recovery)

Je vous remercie pour votre aide, je suis un peu (beaucoup) désespéré, car ma sauvegarde remonte à il y a 1 mois et est coincé en confinement à 800km de chez moi :(

Configuration : Macbook pro retina fin 2013, dernière version de catalina, en très bonne santé avant ça :'(

PS : Il est possible ... très probable heum ... qu'un petit csrutil disable fût écrit par moi-même avant de faire mes bêtises
 
Dernière édition:
J’imagine que tu n’a pas d’autre Ordinateur avec toi
 
Bonjour Ruben,
Si si j'ai un windows à portée de main, ainsi que mon disque bootable maintenant mis à jour sur Catalina si besoin. Tu as une solution en tête ?

Je ne peux plus éditer mon premier message, mais je tiens juste à rectifier une erreur. Le disque disponible en appuyant sur la touche option n'est pas EFI GRUB, mais EFI BOOT.
 
Après une journée supplémentaire de recherche, je poste mon unique résultat d'un diskutil list fait en mode recovery par internet :
Bloc de code:
/dev/disk0

   #:                       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               460.1 GB   disk0s2

/dev/disk1

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     Apple_partition_scheme                        *1.3 GB     disk1

   1:        Apple_partition_map                         30.7 KB    disk1s1

   2:                  Apple_HFS OS X Base System        1.3 GB     disk1s2

/dev/disk2

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk2

/dev/disk3

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk3

/dev/disk4

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk4

/dev/disk5

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk5

/dev/disk6

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk6

/dev/disk7

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *6.3 MB     disk7

/dev/disk8

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *2.1 MB     disk8

/dev/disk9

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *1.0 MB     disk9

/dev/disk10

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk10

/dev/disk11

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *524.3 KB   disk11

/dev/disk12

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:                            untitled               *1.0 MB     disk12

Mon interprétation est constituée de 2 possibiltiés :
  • Soit il y a un problème dans le système de gestion de fichier du dd, car je ne vois ni le volume de preboot, de recovery et VM (pas surprenant sinon je n'aurais pas à passer par le recovery internet)
  • Soit le fait que le dd soit chiffré m'empêche de voir ses volumes virtuels ?

Je cherche à comprendre la signification de ces FFFFFF, que je ne me souviens pas avoir vus durant ces années à bidouiller mon mac. Est-ce que quelqu'un connait leur signification ?
 
Et après un diskutil info sur le disk0 :

Bloc de code:
Device Identifier:        disk0

   Device Node:              /dev/disk0

   Part of Whole:            disk0

   Device / Media Name:      APPLE SSD SM0512F Media


   Volume Name:              Not applicable (no file system)


   Mounted:                  Not applicable (no file system)


   File System:              None


   Content (IOContent):      GUID_partition_scheme

   OS Can Be Installed:      No

   Media Type:               Generic

   Protocol:                 PCI

   SMART Status:             Verified


   Total Size:               500.3 GB (500277790720 Bytes) (exactly 977105060 512-Byte-Units)

   Volume Free Space:        Not applicable (no file system)

   Device Block Size:        512 Bytes


   Read-Only Media:          No

   Read-Only Volume:         Not applicable (no file system)

   Ejectable:                No


   Whole:                    Yes

   Internal:                 Yes

   Solid State:              Yes

   OS 9 Drivers:             No

   Low Level Format:         Not supported

Ôtez-moi d'un doute ... Si je m'étais trompé et au lieu d'effacer la partition linux en APFS j'avais effacé ma partition principale de 460 Go (la toute première fois), ça m'aurait entièrement fait buger non ? Alors qu'après ma manipulation j'ai pu faire des trucs et redémarrer comme si de rien n'était, pour me rendre compte que je ne pouvais plus booter sur le disque de démarrage. Parce que j'en viens à me demander si mon doigt n'a pas ripé hier ... :(
 
Dernière édition:
Bonsoir Clem

La mention : FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF sur la partition principale du disque interne -->
Bloc de code:
 2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               460.1 GB   disk0s2

  • signifie que le descripteur de la partition dans la table de partitions GPT d'en-tête du disque a été corrompu. Il faut le supprimer (ce qui ne touche pas aux écritures de la partition) > puis le recréer de manière valide.

Question : est-ce qu'un OS de format apfs était installé (Mojave ou Catalina) ? - ou un autre ?
 
Bonsoir macomaniac,

Tout d'abord merci pour ta réponse ! Donc le problème est bien un problème dans le système de gestion de fichier ? Je commençais à m'en douter de plus en plus ...
Oui le système était sous Catalina (en clean install il y a quelques mois)
 
C'est au niveau de la table GPT qu'est le problème (table qui décrit les partitions).

- je sais donc que le type de la partition était : "Apple_APFS".​

Passe encore la commande informative :
Bloc de code:
sw_vers -productVersion

  • qui affiche la version de l'OS de secours démarré

Poste le retour.

À tous les coups => tu es démarré sur l'OS de secours d'usine du Mac (téléchargé en RAM par internet - antérieur à l'apfs et incapable de reconnaître ce format). Et pas sur l'OS de secours Catalina. Je le vois car le volume de secours Catalina s'intitule : macOS Base System > et ici il s'intitule : OS X Base System comme dans les versions non-apfs.
 
D'accord -->

- alors redémarre (Menu  > Redémarrer) > et tiens aussitôt pressées les 3 touches ⌘⌥R (cmd alt R) = démarrage par internet (globe terrestre) qui télécharge en RAM un OS de secours Catalina (500 Mo compressés) > puis démarre le Mac dessus à la fin. Tu récupéreras un écran affichant une fenêtre de 4 Utilitaires macOS.​

Passe alors une commande :
Bloc de code:
diskutil list internal

  • qui affiche la configuration du disque interne seule

Poste le retour.
 
Voici le retour, qui me semble identique au précédent :
Bloc de code:
 #:                       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               460.1 GB   disk0s2

Je suis bien dans le recovery mode de catalina, déjà plus moderne que l'autre !
 
En effet. Ce qui confirme la corruption du descripteur GPT.

- passe la commande :​
Bloc de code:
gpt show disk0

  • qui lit la table GPT (inscrite sur les blocs 1 > 33 de départ du disque = secteur de boot) => et affiche en conséquence la distribution des blocs gérés par elle

Poste le retour.
 
Voici le retour :
Bloc de code:
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  898570384      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
  898980024   78125003         
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header

Je tiens à dire que j'aime beaucoup ta façon d'expliquer !
 
Parfait. Voici la partition décrite par le descripteur corrompu -->
Bloc de code:
     409640  898570384      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF

  • on connaît exactement son bloc de tête = n°409640 > et son extension = 898570384 (blocs de 512 octets = 460.06 Go). Il est absolument essentiel de recréer le descripteur après suppression > avec en bloc de tête le n° 409640. Car sur le disque > ce bloc est le "super-bloc" du système de fichiers apfs toujours inscrit sur les blocs (le bloc où ce système de fichiers a son "header" = initialisateur).
  • note : une partition n'existe jamais sur un disque > car aucune balise ne "marque" son bloc de tête ni son bloc de queue. Elle n'existe que projetée sur le disque via un descripteur de la table GPT. Et c'est le kernel (le noyau du Système démarré) --> qui prend en charge cette description > le système de fichiers à partir du bloc de tête > et monte le ou les volume (s) définis par le système de fichiers.

Passe la commande :
Bloc de code:
gpt remove -i 2 disk0

  • la commande supprime le descripteur corrompu (sans rien écrire au disque au-delà de la table GPT)

Poste le retour.
 
Ok super, donc si j'ai bien compris tu veux supprimer le descripteur corrompu et le recréer manuellement pour que le noyau puisse retrouver son système de fichiers associé au volume ? Et le 2 de la commande correspond sûrement au numéro du contents qui indique la ligne dans la table GPT, qui indique le descripteur corrompu.
Voici le retour : "disk0s2 removed". Je pense pouvoir dire que c'est ce qu'on voulait avoir.
 
Descripteur supprimé.

- je te confectionne la commande de recréation d'un descripteur GPT valide et je te la poste.​
 
Voici la commande à passer :
Bloc de code:
gpt add -b 409640 -s 898570384 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 disk0 ; diskutil list internal

  • tu la passes en "copier-coller à rebours" : tu la copies d'abord ici avec Safari > tu la colles dans le terminal > tu l'exécutes
  • la commande recrée un descripteur GPT de partition telle que : bloc de tête = n° 409640 > extension = 898570384 (blocs de 512 octets = 460.06 Go) > type = "Apple_APFS" (via son UUID universel de type : 7C3457EF-0000-11AA-AA11-00306543ECAC - c'est le type de la partition dans le descripteur qui était corrompu) > rang = n°2 ; puis ré-affiche la configuration du disque interne

Poste le retour.
 
Voici le code retour :
Bloc de code:
/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 disk23        460.1 GB   disk0s2

/dev/disk23 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +460.1 GB   disk23
                                 Physical Store disk0s2
   1:                APFS Volume                         270.2 GB   disk23s1
   2:                APFS Volume                         87.4 MB    disk23s2
   3:                APFS Volume Recovery                528.5 MB   disk23s3
   4:                APFS Volume                         1.1 GB     disk23s4
   5:                APFS Volume                         10.9 GB    disk23s5

La commande est finalement toute simple et ce n'est pas la première fois que je la vois de ta part, je n'ai pas pris le temps de m'y attarder sinon j'aurais pu éviter de te faire perdre du temps !
Comment connais-tu l'UUID universel ? C'est la même pour tous les descripteurs APFS ?
 
Oui : chaque type de partition a un hexcode universel > mais aussi un UUID universel. Selon les cas : on peut renseigner l'un ou l'autre.

- comme tu peux le voir à ton tableau > la recréation d'un descripteur valide a instantanément permis au kernel de reprendre en charge le système de fichiers apfs (dont le super-bloc ou bloc du header est le n°409640) => et à partir de là de redéployer le Conteneur apfs avec tous ses volumes.​

Les volumes ne portent pas tous mention de leurs intitulés. Passe la commande :
Bloc de code:
diskutil mountDisk disk23 ; diskutil list internal

  • qui les remonte en lot avant de réafficher la configuration interne

Poste le retour.