Reparación del sistema de ficheros en Linux

Disponemos de varias herramientas que nos permiten ajustar, chequear y reparar fallos en los sistemas de archivos. En este post te mostramos alguna de ellas aunque antes de ejecutar cualquier acción sobre los discos es imprescindible disponer de una copia de seguridad de los datos.

Para los sistemas de archivos ext2, ext3 y ext4

  • fsck: Herramienta para chequeo y reparación.
  • tune2fs: Permite ajustar parámetros.
  • dumpe2fs: Muestra información relevante, mostrando los super block y los block group
  • badblocks: Busca en el dispositivo bloques dañados
  • debugfs: Herramienta para debbuguerar.

 El comando fsck es llamado automáticamente al inicio de sistema si este está marcado como “no clean”, es decir, ha ocurrido algún evento que ha afectado al sistema de archivos.

Antes de utilizar el comando el sistema debe estar desmontado, una buena opción en iniciar el sistema en modo “rescue” y desde la consola ejecutar el programa.

El comando fsck, cuando se ejecuta, devuelve un código con el resultado. La lista de códigos es la siguiente:

  • 0 – Sin errores
  • 1 – Se corrigieron los errores del sistema de archivos.
  • 2 – El sistema debe ser reiniciado
  • 4 – Errores del sistema de archivos dejados sin corregir
  • 8 – Error operacional
  • 16 – Error de uso o sintaxis
  • 32Fsck cancelado por solicitud del usuario
  • 128 – Error de biblioteca compartida

Ejemplos de uso:

Comprobar todas las particiones (del fichero fstab)

# fsck –A

Comprobar un disco

# fsck /dev/sda

Reparar un disco sin preguntar cuando encuentre un error

# fsk –a /dev/sda

Reparar un disco preguntando cuando encuentre un error

# fsck –r /dev/sda

Para forzar el chequeo de los discos al inicio podemos reinicia el sistema con el siguiente comando:

# shutdown –rF now

También se puede forzar creando el fichero /forcefsk y reiniciando el sistema.

Con el comando tune2fs podemos realizar varias opciones sobre los sistemas de ficheros como es cambiar la etiqueta de volumen, indicar cada cuantos reboots se realizará del chequeo de discos, ver toda la información asociada el sistema… etc.

Por ejemplo para ver toda la información de una partición:

# tune2fs –l /dev/sda1

fsck

En este tipo de sistema de archivos (extN) hay que tener en cuenta la carpeta lost+found, en ella son depositados los archivos que el sistema encuentra dañados o que no están referenciados por el sistema. La utilización del comando fsck puede depositar archivos en esta ubicación si no encuentra donde estaban ubicados.

Para los sistemas de archivos Btrfs

Btrfs es un sistema de ficheros muy fiable, pero hay situaciones como son fallos físicos en los equipos que pueden degradar la información de los datos.

Uno de los comandos que permiten el chequeo y la reparación es btrfs con la opción check:

# btrfs check

Si añadimos la opción de “-repair” reparará el sistema de archivos si encuentra algún problema.

En btrfs existen varios comandos que nos permitirán tratar cualquier problema. En este link te dejamos una guía completa de reparación.

https://ownyourbits.com/2019/03/03/how-to-recover-a-btrfs-partition/

Para los sistemas de archivos XFS

En los sistemas de archivos XFS disponemos de dos herramientas básicas para el chequeo y la reparación:

  • xfs_check: Es una utilidad que permite chequear el sistema de archivos XFS
  • xfs_repair: Chequea y repara el sistema de archivos

Un ejemplo de uso sería el chequeo y la reparación de la unidad /dev/sdd:

# xfs_repair /dev/sdd

Si solo queremos que chequee y no repare:

# xfs_repair –n /dev/repair