Recuperando particiones XFS con xfsdump
Hoy quizá un mal apagado, jodió el superbloque principal de una de mis particiones.
Al montarla salia el mensaje:
# mount /dev/hdb1
mount: tipo de sistema de ficheros incorrecto, opción incorrecta,
superbloque incorrecto en /dev/hdb1, falta la página de códigos,
o algún otro error
En algunos casos se encuentra información en syslog, pruebe
dmesg | tail o algo parecido
Veamos….
# dmesg |tail
XFS: bad magic number
XFS: SB validate failed
Estaba jodido… eran 120 GB de los cuales, el 20% eran ISO y demás. Esto no duele perderlo (Los DivX me refiero), pero me puse a buscar por internet y encontré una solución milagrosa.
Primero tuve que instalar xfsdump y luego probé, sin modificar nada (opción -n) a ver que ocurría:
# xfs_repair -n /dev/hdb1
Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!
attempting to find secondary superblock...
(un ratito)
found candidate secondary superblock...
verified secondary superblock...
would write modified primary superblock
Primary superblock would have been modified.
Ha terminado. Nos dice que se ha encontrado un candidato que parece ser el segundo superbloque, que debería modificarse (Palabras textuales). La opción -n evitó que se modificase.
No tenía nada que perder así que lo ejecuté de nuevo sin la opción -n. En realidad no sé que hizo pues no se apenas nada de sistemas de ficheros a ese nivel, y menos de XFS (Si aún dijésemos ext3 o reiserfs de los que he leído más acerca de ellos…). Nos manda montarlo con unas opciones y sus respectivos valores mencionados anteriormente.
Desconocía ambas opciones, y dado que iba a ciegas lo monté con normalidad.
# dmesg |tail
XFS mounting filesystem hdb1
Ending clean XFS mount for filesystem: hdb1
Parece que ha funcionado ![]()
Escrito por Gura
29.Jun.06 y almacenado en las caterorías GNU/Linux, lost+found.
También puede escribir un comentario, o referenciar esta entrada (trackback) desde su web.
Es sencillo. Cuando se crea un sistema de archivos XFS (y ext, p.ej), cada n bloques se almacena una copia del superbloque inicial por si éste se corrompiese.
De esta manera, xfsdump busca una copia del superbloque por toda la partición, en incrementos de 512bytes en 1 principio ya que no tiene el primer superbloque y no puede conocer el tamaño de bloque con que fue formateada, y la restaura.
C”est fini.
Lo ideal sería, según he leído, apuntar la posición del superbloque.
Super color scheme, I like it! Good job. Go on.