2 votos

Acceso a un volumen APFS no montable en una imagen de disco

He tenido problemas con APFS. Tengo un disco duro externo (platos giratorios) con dos particiones. Hace un tiempo una de estas particiones dejó de montarse. Ni la Utilidad de Discos ni la ejecución de fsck pudieron repararla. La Utilidad de Discos en modo de recuperación no pudo repararla. La partición no está cifrada. Todo esto ocurre en MacOS 10.14.6.

He creado una imagen de todo el disco externo con la esperanza de poder acceder a los datos de la partición desde allí. Esta imagen, cuando se monta, muestra correctamente la partición no dañada, pero la otra partición no se monta y aparece en gris en la Utilidad de Discos.

Mi investigación mostró que el problema es el mapa de objetos, que ha surgido varias veces en mi búsqueda en Google, pero sin soluciones.

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.

Creo que los datos de la unidad están bien, pero los pocos bloques de APFS corruptos hacen que toda la unidad sea inutilizable.

Conozco el software de recuperación de datos boysoft, pero no estoy interesado en archivos individuales o imágenes, etc. de esta unidad, quiero la partición completa (me pregunto sin embargo, ¿cómo es este software capaz de acceder a los archivos en la unidad unmountable). Sé que si se tratara de un sistema HFS, DiskWarrior probablemente podría reconstruir toda la partición, pero debido a la naturaleza poco documentada de APFS (¿WTF Apple?), la gente de DiskWarrior no puede ayudar...

Me gustaría saber si hay alguna forma de acceder a los datos del volumen APFS no montable. ¿O tal vez arreglar el mapa de objetos para que la unidad pueda ser montada y navegada?

Cualquier consejo sería muy apreciado...

2voto

SuperDuck Puntos 1026

Con suerte, aún tienes la imagen de disco para trabajar.

Aunque no puedo ofrecer una solución completa de inmediato, al menos puedo ofrecer algunas orientaciones. La salida de fsck sugiere que un nodo dentro del árbol B que representa el mapa de objetos para su volumen APFS afectado está parcialmente dañado. Suponiendo que 0x40000002 en la línea error: (oid 0x231dea) om: btn: invalid o_type (0x40000002) es la incorrecta o_type que aparece en el bloque afectado en el disco, entonces puede ser un problema relativamente sencillo de solucionar; el valor debería ser 0x40000003 Por supuesto, después de arreglar esto, puedes encontrarte con problemas posteriores.

Si 0x40000002 se refiere al valor que debe en el disco, significa que el nodo root del árbol B del mapa de objetos de su volumen APFS se ha corrompido de alguna manera, y es necesario seguir investigando.

Recientemente he desarrollado un conjunto de herramientas para inspeccionar estos problemas . Si es posible, compilar apfs-inspect y compartir la salida de apfs-inspect disk.img , donde disk.img es la imagen de disco que hiciste de la partición contenedora APFS. Por favor, utilice un PasteBin enlace o similar, ya que la salida será muy larga. Entonces estaré más que feliz de proporcionar más orientación.


* _El Especificaciones del APFS publicadas en febrero de 2019 (PDF) explica que el o_type de un bloque APFS representa el "tipo de almacenamiento" y el "tipo de objeto" mismo del objeto que los datos de ese bloque representan. Los primeros 4 nibbles, es decir 0x4000 son el tipo de almacenamiento, y los últimos 4 nibbles, es decir 0x0002 son el propio tipo de objeto. Aquí, 0x4000 significa que el objeto utiliza el tipo de almacenamiento "Físico", y 0x0002 significa que el objeto es el nodo root de un árbol B; el valor 0x0003 en lugar de 0x0002 significa que el objeto es un nodo no root de un árbol B._

1voto

john Puntos 11

Bienvenido a Ask Different. Tal vez usted puede montar el volumen APFS mediante el uso de la aplicación de terceros Montaña . Otros han tenido buena suerte con esta aplicación. La aplicación no es gratuita pero tiene una prueba gratuita. Es fácil descargarla y probarla. No estoy asociado de ninguna manera a Montaña . Soy un usuario feliz. La aplicación requiere MacOS 10.8 o posterior.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X