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
- 32 – Fsck 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
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