Repare el paquete disperso de Time Machine que ya no se montará

24

Arruiné mi copia de seguridad de Time Machine de alguna manera. Ya no puedo montar el archivo sparsebundle, ya que recibo un error que indica que no hay sistemas de archivos montables.

Usé el comando hdiutil para adjuntar el archivo sparsebundle:

hdiutil attach -nomount -readwrite flattop.sparsebundle

que resultó en los siguientes / dev / devices:

/dev/disk2              Apple_partition_scheme
/dev/disk2s1            Apple_partition_map
/dev/disk2s2            Apple_HFSX

Luego ejecuté el comando fsch_hfs para verificar el volumen principal (/ dev / disk2s2):

fsck_hfs -drf /dev/disk2s2

Esto dio como resultado un aviso de que el volumen de las copias de seguridad de Time Machine está dañado y necesitaba ser reparado:

Unable to open block device /dev/disk2s2: Permission deniedjournal_replay(/dev/disk2s2) returned 13
** /dev/rdisk2s2 (NO WRITE)
    Using cacheBlockSize=32K cacheTotalBlock=32768 cacheSize=1048576K.
   Executing fsck_hfs (version diskdev_cmds-540.1~34).
Non-empty journal:  start = 66310144, end = 94912512
   Journal need to be replayed but volume is read-only
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine Backups
** Checking extents overflow file.
   Unused node is not erased (node = 3568)
   Unused node is not erased (node = 3574)
   Unused node is not erased (node = 3575)
** Checking catalog file.
** The volume Time Machine Backups was found corrupt and needs to be repaired.
    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 2865568974 0xaacd1cce 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 2865568976 0xaacd1cd0 
    total sectors for embedded volume = 0 0x00 

Como puede ver, también hay un error que dice "No se puede abrir el dispositivo de bloqueo / dev / disk2s2: el permiso denegadojournal_replay (/ dev / disk2s2) devolvió 13".

Pensé que esto podría deberse a no ejecutar el comando fsck_hfs como su, así que lo probé con sudo pero esto tuvo el mismo resultado.

Mi archivo sparsebundle está en un Synology DS408 NAS y se ha estado ejecutando sin problemas durante aproximadamente 2 años :(

¿Alguien tiene una idea de cómo llevar esto más lejos?

Saludos cordiales, Niels R.

ACTUALIZACIÓN: Como sospeché al escribir esta pregunta, probablemente tenga un problema con los permisos de lectura / escritura. Ahora veo el volumen que aparece en la Utilidad de Discos y cuando hago clic en "Verificar" obtengo el siguiente resultado:

Verifying volume “Time Machine Backups”
Checking file systemJournal need to be replayed but volume is read-only
Checking Journaled HFS Plus volume.
Detected a case-sensitive volume.
Checking extents overflow file.
Unused node is not erased (node = 3568)
Checking catalog file.
Keys out of order
The volume Time Machine Backups was found corrupt and needs to be repaired.
Error: This disk needs to be repaired. Click Repair Disk.

¿Puedo simplemente modificar el archivo sparsebundle para establecer los permisos correctos?

Niels R.
fuente

Respuestas:

26

Tengo un artículo sobre cómo intentar reparar los errores de sparsebundle basados ​​en NAS en mi blog . En resumen:

  1. hdiutil attach -nomount -noverify -noautofsck /Volumes/{name of your disk}/{name of}.sparsebundle

    Entonces verás algo como

    /dev/diskx Apple_partition_scheme
    /dev/diskxs1 Apple_partition_map
    /dev/diskxs2 Apple_HFSX
    

    Donde x es la identificación del disco externo. x puede ser 2, 3, 4 o superior. Está interesado en el etiquetado Apple_HFSX o Apple_HFS.

  2. fsck_hfs -drfy /dev/diskxs2 utilizando cualquier dispositivo relevante ubicado en el Paso 1.

    Con suerte, eventualmente verás

    El volumen fue reparado exitosamente

  3. hdiutil detach /dev/diskxs2


Sin embargo, desde OS X 10.6.3, Time Machine se negará a escribir en un volumen de destino que falle su verificación. Incluso si el proceso anterior logra recuperar la copia de seguridad, es posible que deba eliminar las marcas negras que escribió Time Machine cuando falló la verificación.

  1. Desbloquee el paquete disperso

    chflags -R nouchg /Volumes/{name of your disk}/{name of}.sparsebundle
    
  2. Vuelva a colocarlo en su ubicación original.

    mv /Volumes/{name of your disk}/{name of}_YYYY-MM-DD.sparsebundle /Volumes/{name of your disk}/{name of}.sparsebundle
    
  3. En el directorio de nivel superior del sparsebundle, edite el archivo com.apple.TimeMachine.MachineID.plist.

    • retirar

      <key>RecoveryBackupDeclinedDate</key>
      <date>{whatever-the-date}</date>
      
    • Cambio

      <key>VerificationState</key>
      <integer>2</integer>
      

      a

      <key>VerificationState</key>
      <integer>0</integer>
      
Garth Gillespie
fuente
3
La llamada a fsck_hfsdevoluciones: No se puede abrir el dispositivo de bloqueo / dev / disk7s2: Resource busyjournal_replay (/ dev / disk7s2) devuelto 16
Stefan Müller
3
fsck_hfs -drfy / dev / disk2s2 No se puede abrir el dispositivo de bloqueo / dev / disk2s2: Permiso denegadojournal_replay permiso (/ dev / disk2s2) devuelto 13 ** / dev / rdisk2s2 (NO WRITE)
malhal
Estas instrucciones no funcionaron para mí, pero el enlace de Christian L funcionó.
malhal
Esto resolvió el problema para mí, ¡gracias! Aquí está el resultado de ejecutar los comandos (para que sea más fácil de buscar) gist.github.com/oleander/d3d37a46940d0ac4b538da62e0745601 Consejo profesional: no ejecute los comandos anteriores a través de Wi-Fi (802.11n, 200Gb). Probé primero y tuve que abortar después de 30h +. Terminé usando un cable de ethernet, que "solo" tomó 2h.
Linus Oleander
1
Si fsck_hfs dice que no se puede reparar, intente diskutil repairVolume / dev / disk2s2
malhal
6

Los atributos extendidos en el sparsebundle pueden estar impidiendo escrituras en el archivo:

correr

chflags -R nouchg flattop.sparsebundle

Pero tenga cuidado, el sparsebundle puede haber sido protegido porque realmente está roto.

James
fuente
Si realmente está roto, ¿hay algo que perder? Tengo entendido que la única otra opción es borrarlo e iniciar una nueva copia de seguridad.
Matt
4

No es tan simple como chmod. Primero, parece que 10.5 / 10.6 / 10.7 tienen diferencias menores en cómo se maneja un paquete disperso. En segundo lugar, las banderas y el estado sucio / malo de un paquete disperso se almacenan en otro lugar. En tercer lugar, es posible que deba atacar el paquete disperso en sí mismo, no el sistema de archivos que contiene.

Su mejor opción es dejar que la Utilidad de Discos tome una grieta en la reparación de la imagen antes de mirar el sistema de archivos incorporado. Funciona tanto en el paquete como en los sistemas de archivos, y también sabe cómo Apple ha almacenado las cosas.

Los detalles del paquete son propietarios o difíciles de discernir de los documentos del desarrollador, y ciertamente no es algo que otras utilidades de terceros estén dispuestas a solucionar en este momento. Siempre que esté utilizando una versión igual o más nueva de Disk Utility que la Mac que realizó las copias de seguridad, debería estar bien. Una vez que haya renunciado a la Utilidad de Discos, puede probar algo como Drive Genius o Disk Warrior, pero me quedaría con la herramienta de Apple si espera reutilizar este paquete.

La naturaleza de los paquetes dispersos: específicamente los enlaces duros, así como el concepto de que no se compacta cuando se eliminan los archivos, hay mucho trabajo por hacer . He ejecutado DiskUtility durante dos semanas y aún no he completado un pase de reparación en un archivo de 800 MB.

En la práctica, es mejor que solo regrese a una versión anterior de su NAS si tiene instantáneas o si está respaldado. Al final, si hay errores que fsck / Disk Utility no puede solucionar, su paquete disperso se marcará como incorrecto y se bloqueará. Luego puedes leer cosas, pero nunca volver a escribir. Vea si puede conectar una máquina al almacenamiento y arreglar cosas (DAS o conexiones de alta velocidad son mejores, ya que es una máquina que puede tener tiempo para arreglar cosas y no reiniciar es ideal)

La mejor de las suertes: esto puede no ser recuperable de los detalles que proporcionó.

bmike
fuente
1

La respuesta de @ Garth no funcionó para mí. Tuve que agregar la -readwriteopción para hdiutilque funcione para mi imagen encriptada. Sin esa opción, hdiutilno solicita la contraseña.

En el paso fsck, me encontré con un Disk full error. Para solucionarlo, utilicé la resizeopción para agrandar el tamaño de la imagen antes de ejecutar fsck.

Aquí están los comandos que usé para solucionarlo:

# chflags -R nouchg MyImage.sparsebundle

# hdiutil attach -nomount -noverify -readwrite -noautofsck MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 
/dev/disk2              GUID_partition_scheme           
/dev/disk2s1            EFI                             
/dev/disk2s2            Apple_HFS                       

# hdiutil resize -size 1.5t MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 

# fsck_hfs -drf /dev/disk2s2
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine-Backups
** Checking extents overflow file.
** Checking catalog file.
** Rebuilding catalog B-tree.
…

# hdiutil detach /dev/disk2s2

Como se explica en las otras respuestas, la ruta del dispositivo puede variar, por lo que en lugar de disk2s2usar el disco impreso por el hdiutil attachcomando. Además, solo necesita el resizepaso si obtuvo el Disk full erroral ejecutar el fsck_hfscomando. Además, en lugar de mi 1.5t, debe ingresar un nuevo tamaño razonable que sea un poco más grande que el tamaño de su imagen actual (consulte con du -hs MyImage.sparsebundle).

Ortwin Gentz
fuente
Genial, pero tuve que separar antes de cambiar el tamaño de lo contrario hdiutil: resize: falló. Recurso no disponible temporalmente (35)
malhal
0

Tengo un Syology NAS y recibí el error NO-WRITE al intentar ejecutar la solución, pero me encontré con esta versión modificada que salvó mi tocino.

http://tonylawrence.com/blog/2012/08/11/fixing-corrupted-time-machine-backups/

Christian L.
fuente
2
Bienvenido a Ask Different! Si bien este enlace puede responder la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcionar el enlace como referencia. Las respuestas de solo enlace pueden volverse inválidas si la página vinculada cambia.
grg
También estaba sin escribir, estas fueron las únicas instrucciones que me funcionaron y probé todas las demás.
malhal
0

Si realiza una copia de seguridad de una imagen de disco de paquete dispersa en una máquina e intenta abrirla en otra, puede recibir el mensaje de error "sistemas de archivos no montables", especialmente si los nombres de usuario de los propietarios difieren entre las dos máquinas.

Mi solución fue copiar el paquete a mi disco local y ejecutar

sudo chown -R MyUserName nonmounting.sparsebundle

en eso.

Después de eso se abrió bien y todo estaba bien con el mundo.

Puño rítmico
fuente
0

Hice todos los pasos anteriores, pero después de un tiempo la imagen no pudo repararse usando fsck_hfs o hdutil, muchos errores relacionados con hilos o nodos corrompidos.

Lo que funcionó para mí fue:

  1. (Opcional) Conecte una unidad USB externa de 1 TB formateada con HFS Jornada.
  2. (Opcional) En Airport Utility, vaya a Time Capsule Disks -> Archive Disk en la unidad conectada a Time Capsule por USB. Esto me llevó 12 horas por 600 GB.

  3. hdiutil attach -nomount -noverify -noautofsck /Volumes/DISK/MyFile.sparsebundle

  4. Entonces el disco fue visible usando DiskWarrior . En la pestaña Directorio, haga clic en Reconstruir . Tomó alrededor de 1 hora.

Una vez solucionado, finalmente pude montar y hacer una copia de seguridad de mis archivos.

Haga clic en Reconstruir

Javier Giovannini
fuente
Entiendo esto: "DiskWarrior ha creado con éxito un nuevo directorio para el disco llamado" Copias de seguridad de Time Machine ". El nuevo directorio no puede reemplazar el directorio original porque el disco está bloqueado". ¿Sabes cómo desbloquear?
maxisme
0

Esto funcionó para mí:

  • Haga clic derecho en la imagen del disco, cambie "Todos" para leer y escribir.
  • Terminal abierta
  • chmod -R 777 {disk image path}

Aparentemente fue un problema de permisos.

NOTA: ESTO HACERÁ SU RESPALDO ACCESIBLE A CUALQUIER PERSONA QUE TIENE ACCESO FÍSICO

Kyle
fuente
0

Espero que esto pueda ayudar a alguien.

Me bloquearon la cuenta de la bóveda de archivos heredada después de una actualización de seguridad de El Capitan con un error de 'sistema de archivos no montable'.

Lo que funcionó en mi caso fue abrir el archivo sparsebundle usando 'mostrar contenido del paquete' del menú desplegable y cambiar manualmente el acceso para 'todos' de 'sin acceso' a 'leer y escribir' para cada uno de los elementos adjuntos. Para el directorio 'bandas' utilicé el comando 'aplicar a elementos adjuntos' del menú desplegable.

Pensilvania
fuente
0

Tuve un problema similar con un paquete disperso alojado en una máquina con Windows. Intenté todo en este y otros subprocesos, resultando siempre en un error de sistemas de archivos no montables (mostrando también un error 112).

El problema fue Windows Defender, que detectó uno de los archivos en el sparsebundle como un troyano (Trojan: Script / Foretype.A! Ml). Otras personas informaron sobre falsos positivos similares, como caché de Spotify o archivos compilados de Rust .

Para resolver el problema, simplemente excluya el archivo de la cuarentena de Windows Defender y vuelva a montar el sparsebundle. Tardó demasiado, por lo que puede obtener una salida con este comando:

hdiutil attach -verbose -debug -mountpoint /mount/path /path/to.sparsebundle
David Martínez
fuente
-1

Acabo de tener el mismo problema

** /dev/rdisk2s2 (NO WRITE)

al intentar arreglar un TM-sparsebundle dañado en un QNAP 419II.

"Expulsé" el soporte TM usando Finder y ejecuté

hdiutil attach -nomount -noverify -noautofsck ...

comando (que se encuentra aquí Fix Time Machine Sparsebundle NAS Based Backup Errores ) nuevamente, que (al contrario de la primera ejecución con la que imprimió "/ dev / disk2s2 Apple_HFSX") esta vez dio

/dev/disk1s2            Apple_HFSX  

Comprobando el registro del sistema con

tail -f /var/log/fsck_hfs.log

No se mostró

/dev/rdisk1s2: fsck_hfs run at Sun Feb 17 17:53:20 2013
/dev/rdisk1s2: ** /dev/rdisk1s2
/dev/rdisk1s2:    Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
... LOTS-OF-OUTPUT ...
QUICKCHECK ONLY; FILESYSTEM CLEAN

Sin embargo, la reactivación de TM todavía resultó en un mensaje de respaldo currepted :(

¡Buena suerte!

dergab
fuente