10.14 Mojave Disque de démarrage introuvable

Tibawbaw

Membre confirmé
16 Octobre 2011
21
0
39
Bonjour à tous,

J'ai fait une grosse bêtise en voulant ajouter un dual boot sur mon macbook air. J'ai créé une partition de 15Go pour y installer une distribution linux légère, mais en redémarrant le mac, impossible de trouver le disque de démarrage Mac, même en utilisant la touche option pour sélectionner le disque.

J'ai réussi à installer MacOS sur une clé USB sur laquelle je boote, et j'ai lancé les commandes suivantes :

Bloc de code:
air-de-thibaut:Volumes thibaut$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2: 7C3457EF-0000-11AA-AA11-00306543ECAC               485.1 GB   disk0s2
   3:       Microsoft Basic Data LINUX                   15.0 GB    disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *16.4 GB    disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS USBJC                   15.5 GB    disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
Le disk0 correspond au SSD interne du mac. Le disk0s2 correspond au disque où est normalement installé MacOS Mojave.
Le disk1 correspond à la clé USB sur laquelle j'ai booté le mac (c'est lent !)

Dans le finder je vois bien la partition LINUX (disk0s3) mais pas la partition Mac (disk0s2).

J'ai essayé de monter la partition Mac :

Bloc de code:
air-de-thibaut:Volumes thibaut$ diskutil mountDisk disk0s2
Volume(s) mounted successfully

Mais la partition n’apparaît pas pour autant. Lorsque j'ouvre l'utilitaire de disque, je vois bien la partition mais grisée :

1s0ZJjfZ9AH1Mhfomr76cwxmMkMy-8JR6qDXQh22en-PObSv5Gj4hOc9zbheBssQ



Si quelqu'un a une idée ? Que ce soit juste pour récupérer les données du disque, ou encore mieux, retrouver le boot sur le disque grisé...

Merci !
 
Bonjour Tibawbaw

La partition de macOS Mojave -->
Bloc de code:
   2: 7C3457EF-0000-11AA-AA11-00306543ECAC               485.1 GB   disk0s2

  • est désignée par l'UUID : 7C3457EF-0000-11AA-AA11-00306543ECAC (qui est celui du type Apple_APFS) --> parce que tu es démarré sur un OS (macOS ou recoveryOS) antérieur à l'apfs et qui ne reconnaît pas ce format de système de fichiers.

Passe la commande :
Bloc de code:
sw_vers -productVersion

  • qui affiche la version de l'OS (secours ou macOS) démarré

Poste ce retour.
 
  • J’aime
Réactions: Tibawbaw
Merci pour la réponse !

Je ne sais pas pourquoi, mais il m'a installé la version... 10.9.5 ! C'est pas tout neuf !

Il faudrait que j'installe Mojave sur la clé bootable du coup ?
 
Alors il faut que tu démarres par internet : redémarre > et presse les 3 touches ⌘⌥R (cmd alt R) = démarrage par internet -->

  • connexion au Wi-Fi > téléchargement en RAM d'un OS de secours 10.14 (500 Mo - globe terrestre en rotation) > démarrage du Mac à la fin sur cet OS en RAM. Tu obtiens un écran avec une fenêtre de 4 Utilitaires macOS

Va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal.

Dans la fenêtre ouverte > passe la commande  :
Bloc de code:
diskutil list

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur apfs
  • une série de micro-disques correspond à des images-disques créées en RAM à l'occasion du démarrage en mode Recovery > dont les volumes sont montés en lecture & écriture à l'espace de dossiers de l'OS de secours qui leur servent de points de montage. Ce qui permet pendant le fonctionnement de cet OS monté en lecture seule > à des écritures de s'effectuer à l'espace des dossiers où se trouvent montés les volumes des images-disques de la RAM. Ces images-disques s'effacent à l'extinction ou au re-démarrage.
Voici comment tu vas pouvoir poster ici ce tableau sans avoir besoin de prendre de photo -->

  • tu sélectionnes le tableau > ⌘C pour le copier dans le presse-papier > ⌘Q pour quitter le «Terminal» > option  : "Obtenir de l'aide en ligne" (dans la fenêtre des 4 Utilitaires) > ce qui lance un navigateur «Safari» 
  • page Apple par défaut > un clic sur l'adresse de haut de page pour l'éditer > saisis  : macgénération (tout court  : c'est une barre de recherche Google) et valide > tu atteins le site MacGé > Forums > te connectes > ce fil  > tu colles dans une fenêtre de code

=> ces informations montreront la configuration logique de ton disque > vue depuis un démarrage sur un recoveryOS 10.14.

Note 1 : si tu ne peux pas poster via le Safari de la session de secours (ça arrive) --> poste une photo du tableau (à partir du commencement = le disque /dev/disk0 ou disque physique interne) - tu as un bouton : "Transférer un fichier" en bas de cette page.

Note 2 : dans la session de secours > les applications se lancent en mode "alternatif" et pas parallèle. Il faut quitter le Terminal pour lancer Safari. Vice-versa > quitter Safari pour récupérer l'écran général de la session de secours et pouvoir relancer le Terminal. Aucun redémarrage n'est requis.
 
  • J’aime
Réactions: Tibawbaw
Voici le résultat, effectivement, ça a déjà une plus belle tête :

Bloc de code:
-bash-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         485.1 GB   disk0s2
   3:       Microsoft Basic Data LINUX                   15.0 GB    disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +ERROR      disk1
                                 Physical Store disk0s2

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +2.1 GB     disk2
   1:                  Apple_HFS OS X Base System        2.0 GB     disk2s1


(j'ai enlevé tous les disque temporaires)
 
Voici le Conteneur apfs exporté par la partition principale -->
Bloc de code:
/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +ERROR      disk1

  • Il y a une indication d'erreur concernant la taille de l'espace-disque virtuel du Conteneur. Par suite --> aucun volume n'est monté dessus.

- est-ce que tu avais des données à récupérer ?
 
  • J’aime
Réactions: Tibawbaw
Tente la commande :
Bloc de code:
diskutil verifyVolume disk1

  • qui vérifie le système de fichiers apfs

Poste le retour.
 
  • J’aime
Réactions: Tibawbaw
J'ai un mauvais présentiment...

Bloc de code:
-bash-3.2# diskutil verifyVolume disk1
Started file system verification on disk1
Verifying storage system
Performing fsck_apfs -n -x /dev/disk0s2
warning: nx_block_count is 121928231, while device block count is 118424571
Checking the container superblock
error: nx_block_count is 121928231, while device block count is 118424571
Container superblock is invalid
The volume /dev/disk0s2 could not be verified completely
Storage system check exit code is 8
Error: -69716: Storage system verify or repair failed
Underlying error: 8
 
Passe la commande :
Bloc de code:
gpt show disk0

  • qui affiche la distribution des blocs du disque

Poste le tableau --> que je vérifie l'extension en blocs de la partition apfs.
 
  • J’aime
Réactions: Tibawbaw
Bloc de code:
-bash-3.2# gpt show 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  947396568      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  947806208   29298688      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  977104896        131        
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header

Là c'est du chinois pour moi... Merci vraiment pour ton aide !
 
Le message -->
Bloc de code:
warning: nx_block_count is 121928231, while device block count is 118424571

  • dit que le super-bloc du conteneur apfs comporte un décompte de blocs pour le conteneur de 121928231 > alors que l'appareil de la partition (disk0s2) n'a qu'un compte de blocs de 118424571
  • il s'agit manifestement d'un compte en blocs octuples du bloc de 512 octets standard > soit des blocs de 4096 octets. En multipliant par 8 les valeurs du message pour obtenir le décompte en blocs standard --> on obtient : 975425848 blocs attendus pour le conteneur apfs > et 947396568 blocs trouvés en extension de la partition.

Comme tu le vois mon petit calcul a l'air de coller > car voici la description de la partition actuelle de l'apfs -->
Bloc de code:
     409640  947396568      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC

  • tu remarques que la partition commence au bloc n°409640 (qui est le super-bloc 0 pour le système de fichiers apfs) > et a une extension de 947396568 blocs => soit le résultat de ma 2è computation. Le super-bloc de l'apfs attend par contre une extension de blocs de 975425848 > soit 28029280 blocs supplémentaires. Or la partition Linux a une extension de 29298688 blocs > soit 1269408 de plus (= 649 Mo) que ce que demande le super-bloc de l'apfs).

=> en résumé de ces réjouissantes (pour moi) et abstruses (pour toi) computations --> il faudrait supprimer la partition actuelle Linux > supprimer le descripteur de l'actuelle partition apfs dans la table GPT > et en recréer un assignant l'espace de blocs attendu par le super-blocs apfs à la partition (tout ça > je sais faire) -->

  • qu'est-ce que tu en dis ?
 
J'en dis que, même si je ne comprends pas l'entièreté de ton message, j'ai bien envie d'essayer. J'ai l'impression d'être dans un James Bond, il ne me reste plus que quelques secondes pour pirater le code de l'ordinateur central des supers méchants.

Bref, si tu sais faire tout ça et que tu as la gentillesse de m'expliquer aussi bien que tu viens de le faire auparavant la marche à suivre, je suis preneur !
 
Alors passe la commande :
Bloc de code:
diskutil umountDisk force disk0

  • la commande démonte de force tout ce qui peut être monté sur le disque (on ne peut réécrire la table GPT que si elle est "oisive" (idle) > c'est-à-dire ne sert pas à un kernel (noyau opérateur) à prendre en charge des volumes montés.

Poste la réponse.
 
  • J’aime
Réactions: Tibawbaw
Alors passe la commande :
Bloc de code:
gpt remove -i 3 /dev/disk0

  • la commande supprime le descripteur dans la GPT de la partition Linux

Poste le retour.
 
  • J’aime
Réactions: Tibawbaw
Bien ! Enchaîne avec la commande :
Bloc de code:
gpt remove -i 2 /dev/disk0

  • la commande supprime le descripteur de la partition apfs
  • j'espère que rien n'aura été remonté sur le disque > sinon la commande sera bloquée

Poste le retour.
 
  • J’aime
Réactions: Tibawbaw