¿Cómo arreglar la vinculación de nodos de mapas no válidos?

¿Cómo arreglar la vinculación de nodos de mapas no válidos?

Mi disco está formateado en hfs+ y no está limpio.

Por ejemplo, cuando intento montar la unidad mount -f -o rw, dmesgaparece el error:

hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.
mounting read-only.

Entonces, cuando intento repararlo a través de fsck.hfsplus(parte de hfsprogs), dice:

$ fsck -dyf /media/sdd2
** /dev/sdd2
    Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Invalid map node linkage
(4, 0)
** Volume check failed.
volume check failed with error 7 
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 3906291630 0xe8d547ae 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 3906291632 0xe8d547b0 
    total sectors for embedded volume = 0 0x00 

A pesar de usar -yo -f, la unidad no se repara.

Aquí está la explicación de ese error según esteBlog:

Una vez que se ha verificado el árbol B*, fsck pasa a verificar el mapa de asignación. fsck verifica el nodo de encabezado como se describe arriba. Luego revisa cada nodo asegurándose de que se identifique como un nodo de mapa y tenga la cantidad adecuada de registros. Si el nodo falla estas comprobaciones, fsck devuelve "Nodo de mapa no válido". Luego, fsck verifica que la altura del nodo no sea 0 (“Altura del nodo no válida”). Finalmente, si ha llegado al final del árbol y el tamaño del mapa (que almacena el número total de registros en el árbol y disminuye cada vez que se procesa un nodo) no es 0,fsck sabe que hay nodos huérfanos y devuelve "Vínculo de nodo de mapa no válido".

Sin embargo, no sé cómo solucionar ese error ya que no se corrige automáticamente y no puedo montar la partición para que se pueda escribir. ¿Alguna idea de cómo solucionar ese error?

PS Disk Utility tiene un problema similar.

Respuesta1

Deberías intentar reconstruir el archivo del catálogo (árbol B) en el sistema de archivos especificado (que esHFS+) especificando -rla opción para fsck, por ejemplo:

$ fsck.hfsplus -fryd /dev/sdd2

Actualmente, esta opción solo funcionará si hay suficiente espacio contiguo en el sistema de archivos especificado para un nuevo archivo de catálogo y si no hay daños en los nodos hoja en el archivo de catálogo existente (en otras palabras, fsck puede atravesar cada uno de los nodos en el btree solicitado con éxito).

Por supuesto, haga la copia de seguridad (volcado de imagen completa del disco) antes de realizar cualquier operación en el disco, si no quiere correr el riesgo de corromper aún más los datos.

Ver más ejecutando man fsck.hfsplus.

Si esto no ayuda, intente usar otras herramientas para reparar su disco, por ejemplo:

  • Disco de pruebapor CGSecurity | Mac, Windows, Linux ( apt-get install testdisk)
  • guerrero de discode Alsoft (comercial): disco de arranque o aplicación para Mac

información relacionada