2 votes

Accès à un volume APFS non montable sur une image disque

J'ai rencontré des problèmes avec APFS. J'ai un disque dur externe (plaques tournantes) avec deux partitions. Il y a quelque temps, l'une de ces partitions a cessé d'être montée. Ni l'Utilitaire de disque ni l'exécution de fsck n'ont pu la réparer. L'Utilitaire de disque en mode de récupération n'a pas pu la réparer. La partition n'est pas cryptée. Tout cela se passe sous MacOS 10.14.6.

J'ai créé une image de l'ensemble du disque externe dans l'espoir de pouvoir accéder aux données de la partition à partir de là. Cette image, lorsqu'elle est montée, affiche correctement la partition non corrompue, mais l'autre partition n'est pas montée et est grisée dans l'Utilitaire de disque.

Mon enquête a montré que le problème se situe au niveau de la carte des objets, ce qui est apparu à plusieurs reprises dans mes recherches sur Google, mais sans aucune solution.

sudo fsck_apfs -l -n -S /dev/disk4s3

** Checking the container superblock.
warning: checkpoint<->superblock disagree for xp 88
** Checking the EFI jumpstart record.
** Checking the space manager.
warning: spaceman chunk 916 free count 4294943744 > block count 32768
warning: spaceman main free count 351394375 does not match sum of free counts 351417927
** Checking the space manager free queue trees.
** Checking the object map.
** Checking volume.
** Checking the APFS volume superblock.
** The volume Extras was formatted by newfs_apfs (748.57.19) and last modified by apfs_kext (945.220.38).
** Checking the object map.
error: (oid 0x231dea) om: btn: invalid o_type (0x40000002)
   Object map is invalid.
** The volume /dev/disk4s3 could not be verified completely.

Je pense que les données sur le disque sont correctes, mais les quelques blocs d'APFS corrompus rendent l'ensemble du disque inutilisable.

Je connais le logiciel de récupération de données boysoft, mais je ne suis pas intéressé par des fichiers individuels ou des images, etc. de ce disque, je veux la partition entière (je me demande cependant comment ce logiciel peut accéder à des fichiers sur un disque non montable). Je sais que s'il s'agissait d'un système HFS, DiskWarrior pourrait probablement reconstruire la partition entière, mais en raison de la nature peu documentée d'APFS (WTF Apple ?), les gens de DiskWarrior ne peuvent pas m'aider...

J'aimerais savoir s'il existe un moyen d'accéder aux données sur le volume APFS non montable ? Ou peut-être de réparer la carte d'objets pour que le lecteur puisse être monté et parcouru ?

Tout conseil serait grandement apprécié...

3voto

SuperDuck Points 1026

Si tout va bien, il vous reste l'image disque pour travailler !

Bien que je ne puisse pas fournir une solution complète dans l'immédiat, je peux au moins vous donner quelques conseils. La sortie de fsck suggère qu'un nœud de l'arborescence B qui représente la carte d'objets de votre volume APFS affecté est partiellement corrompu. En supposant que 0x40000002 dans la ligne error: (oid 0x231dea) om: btn: invalid o_type (0x40000002) est l'erreur o_type qui apparaît dans le bloc affecté sur le disque, il peut s'agir d'un problème relativement simple à résoudre ; la valeur doit être 0x40000003 Bien entendu, après avoir résolu ce problème, il se peut que vous rencontriez d'autres problèmes.

Si 0x40000002 se réfère à la valeur que devrait apparaissent sur le disque, cela signifie que le nœud racine de l'arbre B de la carte d'objets de votre volume APFS a été corrompu d'une manière ou d'une autre et qu'il est nécessaire de procéder à des recherches plus approfondies.

J'ai récemment développé un un ensemble d'outils pour l'inspection de ces questions . Si possible, compiler apfs-inspect et partager la production de apfs-inspect disk.imgdisk.img est l'image disque que vous avez créée à partir de la partition du conteneur APFS. Veuillez utiliser un PasteBin ou un lien similaire, car le résultat sera très long. Je serai alors plus qu'heureux de vous fournir des conseils supplémentaires.


* _En APFS spec publié en février 2019 (PDF) explique que la o_type d'un bloc APFS représente le "type de stockage" et le "type d'objet" de l'objet que les données de ce bloc représentent. Les 4 premiers caractères, c'est-à-dire 0x4000 sont le type de stockage, et les 4 derniers caractères, c'est-à-dire 0x0002 sont le type d'objet lui-même. En l'occurrence, il s'agit d'un type d'objet, 0x4000 signifie que l'objet utilise le type de stockage "physique", et 0x0002 signifie que l'objet est le nœud racine d'un arbre B ; la valeur 0x0003 au lieu de 0x0002 signifie que l'objet est un nœud non racine d'un arbre B._

1voto

Natsfan Points 12853

Bienvenue à Ask Different. Vous pouvez peut-être monter le volume APFS à l'aide de l'application tierce. Montagne . D'autres personnes ont eu de la chance en utilisant cette application. L'application n'est pas gratuite mais il y a une version d'essai gratuite. Il est facile de la télécharger et de l'essayer. Je ne suis pas associé de quelque manière que ce soit à Montagne . Je suis un utilisateur heureux. L'application nécessite MacOS 10.8 ou une version ultérieure.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X