10.13 High Sierra macOS High Sierra ne boote plus

bgood

Membre actif
28 Juin 2008
342
1
Hello j'ai une grosse merde qui me tombe dessus. Sur mon MacBook pro retina j'ai un 500go ssd que j'avais partioner en 2 250 pour six 250 ubuntu et 16 go pour le swap ubuntu . j'ai voulu virer les deux partition avec utilitaire de disque au démarrage du mac et je l'ai est formaté en hfs+ quand j'ai fait ça j'ai vu machintosh HD passer en disque externe... Je me suis dit merde il se passe quoi? Au reboot impossible de bootersur machintosh hd et la c'est le drame j'arrive plus à faire voir cette partition a mon Mac . Si j'appuie sur alt au démarrage il voit l'ancienne partition linux formaté en untitled et ne vois pas Macintosh HD
Du coup j'ai essayé en mode target thunderbolt avec un autre Mac il voit pas cette partition. J'ai boité sur un OSX hig externe d'un pot pareil il le voit pas. J'ai remis linux lui voit la partition et le Macintosh HD mais ne sait pas lire le apfs... Comment je rebooté la dessus sans tout perdre j'ai du taf a récupéré ... Ou une sauvegarde sur mon ordi principal a 5h de route...

Si je lance le Mac avec pomme r j'ai une vieille interface de l'utilitaire d'installation via internet... Je crois qu'elle voit pas apfs bref je suis bien dans la merde sachant que j'ai un client sur les dos...
 
Bonjour bgood

Je te conseille de démarrer ton Mac les 3 touches ⌘⌥R (cmd alt R) pressées ensemble = démarrage par internet -->

  • connexion du Mac au Wi-Fi > téléchargement en RAM d'un OS de secours 10.14 (correspondant à l'OS public le plus récent : donc Mojave je présume depuis la sortie publique de cet OS) > démarrage du Mac à la fin sur cet OS de secours en RAM en indépendance du disque. Tu obtiens un écran avec une fenêtre de 4 Utilitaires macOS.
  • même si l'OS de secours démarré est "en avance" (10.14) sur l'OS installé sur le disque (10.13) --> il est capable de reconnaître et de gérer l'apfs. Ce qui n'est pas le cas de l'OS de secours d'usine > téléchargé en RAM par l'autre démarrage par internet. C'est ce que tu dois obtenir avec la commande ⌘R > si l'OS de secours local (10.13 - correspontant à High Sierra) n'est pas adressable --> la commande ⌘R est automatiquement convertie en ⌘⌥⇧R (cmd alt maj R) > qui fait télécharger l'OS de secours d'usine du Mac et démarrer le Mac dessus à la fin. Un OS antérieur à High Sierra --> incapable - comme tu en as fait l'expérience - de reconnaître et de gérer l'apfs.
----------

Une fois dans la session de secours --> va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal.

Dans la fenêtre ouverte > saisis la commande informative  :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • 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 si présent
  • 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 
  • dans la page de ce fil de MacGé > presse le bouton
    InsererCodeMcGe.jpg
    ici :
    521520_original.png

    menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

Note
: 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.

=> ces informations montreront la configuration logique de ton disque. Je te dirai d'après elles comment j'interprète la situation actuelle de ta partition macOS.
 
c'est celui en 2 avec tous les FFFF il est comme ça depuis hier

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: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               233.7 GB   disk0s2
   3:       Microsoft Basic Data                         16.3 GB    disk0s3
   4:                  Apple_HFS disk0s4                 249.9 GB   disk0s4

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

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +5.2 MB     disk2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.5 GB    disk3
   1:                      Linux                         15.5 GB    disk3s1

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk4

/dev/disk5 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk5

/dev/disk6 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk6

/dev/disk7 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk7

/dev/disk8 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk8

/dev/disk9 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk9

/dev/disk10 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +12.6 MB    disk10

/dev/disk11 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +4.2 MB     disk11

/dev/disk12 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk12

/dev/disk13 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk13

/dev/disk14 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk14

/dev/disk15 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk15

/dev/disk16 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk16

/dev/disk17 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk17

/dev/disk18 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk18

/dev/disk19 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk19

/dev/disk20 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk20

-bash-3.2#
 
Ce n'est sans peut-être pas trop grave -->

  • le type "Apple_APFS" de la partition n°2 (= disk0s2) > a été accidentellement corrompu. Il est donc désigné actuellement par un "pseudo-type" = FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF. Il peut suffire de restaurer le type initial de la partition. Tout dépend s'il y a eu reformatage ou non > pour récupérer le Conteneur apfs et ses volumes.

Passe la commande :
Bloc de code:
gpt show disk0

  • la commande affiche la distribution des blocs du disque

Poste ce tableau.

Passe aussi la commande :
Bloc de code:
sw_vers -productVersion

  • qui affiche la version de l'OS de secours démarré (et de l'OS qu'il permet de réinstaller)

Poste aussi cette information.
 
Bloc de code:
-bash-3.2# sw_vers -productVersion
10.14
-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  456454768      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
  456864408       1384        
  456865792   31893504      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  488759296  488083584      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  976842880     262147        
  977105027         32         Sec GPT table
  977105059          1         Sec GPT header
-bash-3.2#
 
Par contre je n'ai pas formaté cette partition au contraire
  • alors tant mieux.

Je vois que tu as un OS de secours Mojave --> qui reconnaît l'apfs.

Passe encore la commande :
Bloc de code:
ls /Volumes

  • le "l" de "ls" est la minuscule de "L"
  • la commande affiche les volumes actuellement montés. C'est pour savoir s'il y a un volume monté sur une partition du disque interne. Car la commande gpt ne peut pas écrire si c'est le cas à la table de partition GPT de ce disque

Poste l'affichage retourné (j'ai un doute pour un volume intitulé disk0s2 sur la partition disk0s4).
 
le disk 04 c'est la seconde partition ancienement linux reformaté en hfs je crois , sous linux il voit la partition machintosh hd mais ne la monte pas
Bloc de code:
-bash-3.2# ls /Volumes
OS X Base System    disk0s4
-bash-3.2#
 
Je m'en doutais.

Donc passe les 2 commande (l'une après l'autre ! - une seule à la fois !) -->
Bloc de code:
diskutil umount force disk0s4
gpt remove -i 2 /dev/disk0

  • la 1ère démonte de force le volume disk0s4 --> ce qui libère la table GPT pour écriture
  • la 2è supprime le descripteur n°2 de cette table GPT de l'en-tête du disque. Descripteur comportant une mention de type de partition erronée. J'attire ton attention sur le fait que : supprimer un descripteur dans la table GPT (ce qui supprime la partition du disque) --> n'opère aucun reformatage des blocs de cette même partition. Les objets logiques du système de fichiers apfs original sont donc toujours inscrits sur les blocs > prêts à ... resservir !

Poste les affichages retournés.
 
Dernière édition par un modérateur:
Bloc de code:
-bash-3.2# diskutil umount force disk0s4
Volume disk0s4 on disk0s4 force-unmounted
-bash-3.2# gpt remove -i 2 /devdisk0
gpt remove: unable to open device '/devdisk0': No such file or directory
-bash-3.2# gpt remove -i 2 /dev/disk0
/dev/disk0s2 removed
-bash-3.2#
 
Parfait ! --> après la destruction > la re-création...

Tu passes d'abord à nouveau la commande :
Bloc de code:
diskutil umount force disk0s4

  • afin de re-démonter le volume disk0s4 de la partition disk0s4. Car l'acte d'écriture à la table GPT (la suppression du descripteur en est un) --> a déterminé le rechargement instantané des valeurs de cette table par le kernel de l'OS de secours démarré. Le volume disk0s4 a donc été instantanément remonté sur sa partition > bloquant de nouveau la GPT en écriture.

Ensuite voici la commande-clé à passer :
Bloc de code:
gpt add -b 409640 -s 456454768 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0

  • étant donné la sophistication de la commande > je te demande de la passer en "copier-coller à rebours" --> tu viens d'abord ici avec Safari > tu copies la commande > tu quittes Safari > tu relances le Terminal > tu colles la commande > tu l'exécutes (aucun redémarrage n'est requis)
  • la commande recrée un descripteur dans la table GPT > reprenant au bloc près la localisation de la précédente > avec le type "Apple_APFS" ce coup-ci (déterminé par l'UUID universel de ce type = 7C3457EF-0000-11AA-AA11-00306543ECAC) > et le rang de partition n°2

Poste l'affichage retourné.
 
Dernière édition par un modérateur:
Bloc de code:
-bash-3.2# diskutil unmount force disk0s4
Volume disk0s4 on disk0s4 force-unmounted
-bash-3.2# gpt add -b 409640 -s 456454768 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0
/dev/disk0s2 added
-bash-3.2#
 
Alors voici la commande test ! --> repasse la commande informative que tu connais :
Bloc de code:
diskutil list

  • et poste le tableau des disques

=> tout sera dit !
 
ça sent bon non?
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 disk21        233.7 GB   disk0s2
   3:       Microsoft Basic Data                         16.3 GB    disk0s3
   4:                  Apple_HFS disk0s4                 249.9 GB   disk0s4

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

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +5.2 MB     disk2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.5 GB    disk3
   1:                      Linux                         15.5 GB    disk3s1

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk4

/dev/disk5 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk5

/dev/disk6 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk6

/dev/disk7 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk7

/dev/disk8 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk8

/dev/disk9 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk9

/dev/disk10 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +12.6 MB    disk10

/dev/disk11 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +4.2 MB     disk11

/dev/disk12 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk12

/dev/disk13 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk13

/dev/disk14 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk14

/dev/disk15 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk15

/dev/disk16 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk16

/dev/disk17 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk17

/dev/disk18 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk18

/dev/disk19 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk19

/dev/disk20 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk20

/dev/disk21 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +233.7 GB   disk21
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            169.5 GB   disk21s1
   2:                APFS Volume Preboot                 43.3 MB    disk21s2
   3:                APFS Volume Recovery                1.0 GB     disk21s3
   4:                APFS Volume VM                      1.1 GB     disk21s4

-bash-3.2#
 
Victoire ! --> ces descriptions :
Bloc de code:
   2:                 Apple_APFS Container disk21        233.7 GB   disk0s2

/dev/disk21 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +233.7 GB   disk21
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            169.5 GB   disk21s1
   2:                APFS Volume Preboot                 43.3 MB    disk21s2
   3:                APFS Volume Recovery                1.0 GB     disk21s3
   4:                APFS Volume VM                      1.1 GB     disk21s4

  • montrent qu'avec la rectification du type de la partition qui avait été corrompu --> le kernel a pu instantanément reprendre en charge les objets du système de fichiers apfs toujours inscrits sur leurs blocs originaux à partir de la limite initiale de la partition recréée. En conséquence --> le Conteneur apfs avec tous ses volumes intacts a été instantanément re-déployé.

Passe par prudence les commandes :
Bloc de code:
diskutil mount disk21s1
kextcache -u /Volumes/"Macintosh HD"
diskutil ap updatePreboot disk21s1

  • la 1ère remonte le volume apfs Macintosh HD au cas où il ne serait pas monté
  • la 2è met-à-jour le cache-Système prelinkedkernel > chargé par le lanceur boot.efi au démarrage ; elle passe sans commentaire
  • la 3è met-à-jour les informations de prédémarrage du volume Preboot > prises en charge par l'EFI en prédémarrage ; elle passe avec un long affichage

Indique si la commande n°2 est passée sans commentaire > et la n°3 avec un long affichage...
 
Alors hop ! --> redémarrage :

  • va à : Menu  > Disque de démarrage > choisis Macintosh HD > redémarre dessus

=> je te souhaite une bonne réouverture de session !