10.14 Mojave Problème de récupération de mon disque APFS

binaire

Membre confirmé
16 Décembre 2018
20
0
58
Bonjour, je viens vers vous car j'ai fait beaucoup de recherches récemment pour dépanner mon disque dur formatté en APFS, et beaucoup m'ont renvoyées vers des fils de votre forum.

Le problème est le suivant : j'ai ai un Mac Mini avec un disque SATA De 1To. J'ai fait la mise à jour vers Mojave, et vendredi, il m'a proposé une mise à jour dans les préférences, que j'ai acceptée, et au redémarrage l'écran était noir avec un panneau sens interdit.

En essayant de rebooter avec la touche option, il me propose bien de booter sur Macintosh HD ou HD recovery mais les deux options mènent vers un panneau d'interdicition.

En rebootant en mode single user, je n'ai pas le prompt, au bout d'un moment la police de caractère devient toute bizarre et j'ai le message à peine lisible: "still waiting for root device", le prompt n'appraît pas.

En rebootant avec Command+R, je ne peux pas réinstaller le système (ça marche mais il ne propose aucun disque), je ne peux pas lancer l'utilitaire de disque (il reste en attente avec la roue qui tourne), mais je peux ouvrir le terminal et j'ai pu copier sur une clef USB le retour des commandes shell:

Bloc de code:
-bash-3.2# diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                 Apple_APFS                         1000.0 GB  disk0s2

/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


Je peux voir l'info de disk0 :

Bloc de code:
-bash-3.2# diskutil info disk0
   Device Identifier:         disk0
   Device Node:               /dev/disk0
   Whole:                     Yes
   Part of Whole:             disk0
   Device / Media Name:       APPLE HDD HTS541010A9E662

   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:                  SATA
   SMART Status:              Not Supported

   Disk Size:                 1.0 TB (1000204886016 Bytes) (exactly 1953525168 512-Byte-Units)
   Device Block Size:         512 Bytes

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

   Device Location:           Internal
   Removable Media:           Fixed

   Solid State:               No
   Virtual:                   No
   Hardware AES Support:      No

Si je demande l'info pour disk0s2 ça bloque :

Bloc de code:
-bash-3.2# diskutil info disk0s2
   Device Identifier:         disk0s2
   Device Node:               /dev/disk0s2
   Whole:                     No
   Part of Whole:             disk0

   Volume Name:               Not applicable (no file system)
   Mounted:                   Not applicable (no file system)
   File System:               None

   Partition Type:            Apple_APFS
diskutil: interrupted

J'ai tenté une réparation :

Bloc de code:
-bash-3.2# diskutil repairDisk disk0
Repairing the partition map might erase disk0s1, proceed? (y/N) y
Started partition map repair on disk0
Checking prerequisites

Après plus de 10 heures j'ai interrompu.

J'ai essayé cette commande trouvée sur StackExchange :

Bloc de code:
dd if=/dev/disk0s2 count=4 skip=32 bs=1 2>/dev/null; echo

Il ne répond pas, je dois fermer la fenêtre du terminal et en ouvrir une autre. Pareil avec /dev/disk0, par contre ça répond avec disk1.

Du coup, comme certaines commandes marchent et d'autre pas, je n'arrive pas à savoir si le disque est HS ou bien si c'est juste un problème avec l'APFS.

Car, quand je fais :

Bloc de code:
-bash-3.2# diskutil apfs list
No APFS Containers found
-bash-3.2# diskutil eraseVolume free free disk0s2
The target disk is in use by APFS as a Physical Store; use diskutil apfs deleteContainer
-bash-3.2# diskutil apfs deleteContainer disk0s2
Unable to look up the APFS Container Reference for the given Physical Store

Il me dit que je dois l'enlever de l'APFS mais qu'il est inconnu de l'APFS.

Du coup, j'y perds mon latin, d'autant plus que je suis loin d'être un spécialiste Mac..

J'arrive à monter disk0 :

Bloc de code:
-bash-3.2# diskutil mountDisk disk0
Volume(s) mounted successfully

J'ai également essayé cela :

Bloc de code:
-bash-3.2#diskutil eraseDisk free EMPTY /dev/disk0
Started erase on disk0
Unmounting disk
Error: -69877: Couldn't open device

Voilà, je suis un peu à court d'idées.
 
Bonjour binaire

La partition principale disk0s2 a un type "Apple_APFS" -->
Bloc de code:
   2:                 Apple_APFS                         1000.0 GB  disk0s2

  • mais n'exporte aucun Conteneur = espace-disque virtuel de second degré > consommable par des volumes. On peut présumer qu'un magasin de stockage physique Physical Store existe dans le périmètre de la partition disk0s2 > mais qu'une erreur a démantelé le dispositif d'exportation d'un Conteneur

Pour savoir sur quelle version d'OS de secours le Mac est actuellement démarré (suite à un démarrage par internet qui a fait télécharger en RAM cet OS de secours) > passe la commande :
Bloc de code:
sw_vers -productVersion

  • qui affiche la version d'OS de secours démarré > et en corollaire la version de macOS qu'il permet de réinstaller

Poste ce retour.

Question : est-ce que ton souhait est simplement de pouvoir réinstaller Mojave en installation propre ? - sans problématique de récupération de données ?
 
Bonjour, il me renvoie 10.14.1

Il me proposait d'installer Mojave quand j'ai fait la tentative.

Je préfèrerai récupérer les données si c'est possible car mon dernier backup est assez ancien, suite à la perte de mon NAS.
 
Passe la commande :
Bloc de code:
diskutil verifyVolume disk0s2

  • la commande vérifie l'apfs contenu dans la partition disk0s2

Poste le retour.
 
Si ça ne se déclenche pas > coupe la commande par control c --> inutile d'attenre.

Pour tes données : seul un logiciel de récupération de données > en scannant les blocs de la partition > pourrait peut-être récupérer des fichiers.
 
OK, je pensai acheter Stellar après reformatage du disque. Est-il complètement mort ou il y a moyen de le reformater quand même ?
 
Le reformatage n'affecte que la série des blocs initiaux de la partition (à partir du bloc 0 de départ qui est le super-bloc du système de fichiers et porte son header ou en-tête) > où se trouvent inscrit les objets du système de fichiers apfs. Rien de plus.

Si tu veux opérer > passe les 2 commandes (l'une après l'autre) :
Bloc de code:
diskutil umountDisk force disk0
diskutil ap deleteContainer -force /dev/disk0s2 "Macintosh HD"

  • mets "Macintosh HD" avec les "" ; respecte les espaces
  • la 1ère démonte de force le disque interne > pour désactiver ses systèmes de fichiers
  • la 2è supprime le "pseudo-conteneur" apfs > en adressant avec l'option spéciale -force le Physical Store de la partition disk0s2 (commande valide uniquement dans le terminal d'un environnement de type Mojave - pas antérieur)

Poste l'affichage retourné.
 
Merci, pour l'instant il mouline, il est allé assez vite jusqu'à 75% et maintenant il ne progresse plus. Je posterai le détail quand il me rendra la main.
 
Toujours à 75%, j'ai pu copier le texte en ouvrant un second terminal :

Bloc de code:
-bash-3.2# diskutil umountDisk force disk0
Forced unmount of all volumes on disk0 was successful
-bash-3.2# diskutil ap deleteContainer -force /dev/disk0s2 "Macintosh HD"
Started APFS operation on disk0s2
Deleting APFS Container with all of its APFS Volumes
Operating in the contingency (damaged APFS Container) mode. Only the specified APFS Physical Store disk is guaranteed to be reclaimed. Other APFS Physical Stores which may have defined this APFS Container might need to be reclaimed separately
Deleting Container
[ \ 0%..10%..20%..30%..40%..50%..60%..70%................ ] 75.0%
 
Il semble que le système de fichiers apfs de la partition soit complètement corrompu. Car la commande a bien été validée formellement > mais c'est son exéctution qui ratatouille.

J'ai plus radical comme procédé si tu veux.
 
Coupe la commande par control c. Passe la commande :
Bloc de code:
gpt show disk0

  • qui affiche la distribution des blocs du disque

Poste le tableau.
 
Alors, la commande ne répond pas. Comme je connais un peu Unix j'ai regardé les processus :

Bloc de code:
-bash-3.2# ps ax
  PID   TT  STAT      TIME COMMAND
    1   ??  Ss     0:01.42 /sbin/launchd
  166   ??  Ss     0:00.13 /usr/libexec/UserEventAgent (System)
  169   ??  Ss     0:09.42 /usr/libexec/kextd
  172   ??  Ss     0:00.71 /usr/libexec/configd
(...)
  229   ??  Ss     0:00.08 /usr/sbin/distnoted daemon
  238   ??  Ss     0:09.91 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer -daemon
  269   ??  U      0:00.01 /System/Library/Filesystems/msdos.fs/Contents/Resources/./msdos.util -p disk0s1 removable readonly
  326   ??  Ss     0:00.90 /usr/libexec/lsd runAsRoot
  332   ??  Ss     0:00.15 /usr/libexec/pkd
  355   ??  Ss     0:00.29 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd
  (...)
  559   ??  Ss     0:00.07 /usr/sbin/systemsoundserverd
  560   ??  Ss     0:00.10 /usr/sbin/coreaudiod
  561   ??  Ss     0:00.07 /System/Library/Frameworks/CoreAudio.framework/Versions/A/XPCServices/com.apple.audio.DriverHelper.xpc/Contents/MacOS/com.apple.audio.DriverHelper
  563   ??  Us     0:00.08 /usr/libexec/diskmanagementd
  564   ??  U      0:00.08 diskutil info disk0
  566   ??  U      0:00.01 gpt show disk0
  571   ??  U      0:00.01 gpt show disk0
  580   ??  S      0:03.42 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -NSDisabledCharacterPaletteMenuItem YES -AppleKeyboardUIMode 2 -AppleLanguages (fr)
  583   ??  U      0:00.01 gpt show disk0
  584 s000  Ss     0:00.01 -bash
  585 s000  R+     0:00.01 ps ax
-bash-3.2#

Le diskutil en 564 correspond à une autre commande qui s'était bloquée. Du coup, comme je vois que les commandes qui ne répondent pas sont marquées en U, je vois qu'il y en a deux autres en 563 et surtout 269, et je me demande si ce n'est pas cette dernière qui bloque Disk Utilities.

Alors, j'ai essayé kill -9 566 et ça ne fait rien, apparemment ces processus sont ininterruptibles.
 
Quitte l'application Terminal > puis relance-la et repasse la commande :
Bloc de code:
gpt show disk0

  • est-ce que tu obtiens le tableau ?
 
Alors, pour le moment gpt ne répond pas. Entretemps j'ai fait un diagnostic matériel (code: ADP000, tout va bien) et j'ai rebooté en mode internet.