Comprobación y corrección del sistema de archivos: comandos fsck
1. ¿Por qué es importante comprobar el sistema de archivos?
El sistema de archivos en Linux es en realidad uno de los "empleados" más ocupados del SO. Trabaja mientras guardas archivos, abres programas o simplemente lees datos. Ahora imagina: en el momento más crucial, este empleado se cansa y decide desmayarse (léase: el sistema se apagó debido a un corte eléctrico). Esto puede llevar a daños en la tabla de archivos, pérdida de datos u otros problemas desagradables.
¿Pero qué puede salir mal?
- Corte repentino de energía — tu dispositivo se apagó de repente sin terminar de guardar los datos.
- Error de almacenamiento — un disco duro o SSD puede tener fallos de hardware que dañen el sistema de archivos.
- Errores de software — no se descartan bugs en los drivers o utilidades del sistema.
A menudo, después de estos eventos, el sistema de archivos queda inutilizable, y el sistema mismo puede pedirte que compruebes su estado. Aquí es donde entra en juego fsck
, que significa File System Check.
2. ¿Qué es fsck
y cómo funciona?
La idea de la herramienta
fsck
es una utilidad universal que verifica la integridad del sistema de archivos y corrige errores detectados. Funciona como un médico: realiza pruebas, encuentra el problema y, si es posible, lo "cura". Si el problema es demasiado grave, fsck
al menos puede diagnosticar qué fue lo que salió mal.
¿Cuándo se utiliza fsck
?
- En caso de fallos evidentes en los archivos (por ejemplo, si de repente "desaparecen").
- Si el sistema no arranca y muestra un error del sistema de archivos.
- Para mantenimiento regular, para asegurarse de que todo está en orden.
3. Sintaxis principal de fsck
Para usar fsck
, normalmente se utiliza el siguiente comando:
fsck [opciones] <dispositivo>
Opciones principales:
-y
— Confirmar automáticamente las correcciones. Esto es útil si no quieres estar sentado pulsandoyes
para cada pregunta.-n
— Solo verificar, sin correcciones (simulación). Útil para analizar la situación si tienes miedo de estropear algo.-t
— Especificar el tipo de sistema de archivos (por ejemplo,ext4
,xfs
).-r
— Habilitar el modo interactivo (confirmarás cada corrección).
4. Práctica: verificación del sistema de archivos
Vamos a empezar con una verificación sencilla. Supongamos que tenemos un dispositivo /dev/sdb1
, que queremos verificar.
Paso 1: Verificación sin correcciones
Primero evaluaremos el estado del sistema de archivos sin realizar cambios:
fsck -n /dev/sdb1
Después de ejecutar el comando, verás una lista de problemas encontrados, si los hay. Aquí tienes un ejemplo del resultado:
Se encontraron inodos que formaban parte de una lista huérfana corrupta.
Se detectaron errores en el sistema de archivos. Ejecuta fsck para reparar.
Paso 2: Corrección automática
Ahora activaremos el modo de corrección de errores:
fsck -y /dev/sdb1
fsck
intentará corregir cada error encontrado y confirmar automáticamente la acción. Esto puede tomar algún tiempo si el dispositivo es grande.
5. ¿Qué hacer si el sistema de archivos está en uso?
Error al iniciar fsck
Si intentas ejecutar fsck
en una partición que ya está montada, obtendrás una advertencia:
fsck: cannot check a mounted filesystem.
Esto sucede porque verificar un sistema de archivos montado puede llevar a la corrupción de datos. Hay varias maneras de resolver este problema.
- Monta el dispositivo en modo solo lectura.
mount -o remount,ro /dev/sdb1
- Usa un LiveCD o LiveUSB.
Arranca desde un disco o memoria USB de arranque para realizar la verificación en un dispositivo ya desmontado.
- Usa el modo de recuperación.
Reinicia el sistema en modo de recuperación, que generalmente ofrece un entorno seguro para realizar la verificación.
Características de la verificación del sistema de archivos raíz /
El sistema de archivos raíz es un caso único, ya que el sistema lo utiliza activamente. Para ejecutar fsck
en dicha partición, necesitas:
- Entrar en el modo de usuario único con el comando:
systemctl isolate rescue.target
- Ejecutar manualmente
fsck
:
fsck -y /
6. Errores típicos y su reparación
Inodes dañados
Si fsck
informa sobre inodes dañados (estructuras que almacenan información sobre archivos), te propondrá eliminarlos. Esto es seguro, ya que un inode dañado ya no está asociado con los archivos actuales.
Archivos perdidos
A veces, después de ejecutar fsck
, los archivos perdidos se encuentran en el directorio lost+found
en la raíz del sistema de archivos. Puedes revisar este lugar manualmente para recuperar datos importantes.
Recomendaciones importantes
Siempre haz copias de seguridad antes de la verificación. Aunque
fsck
generalmente funciona de manera segura, las correcciones pueden llevar a la pérdida de datos.No ejecutes
fsck
en particiones montadas. Esto puede dañar los datos.Usa el flag
-n
para un análisis preliminar. Si no estás seguro de si debes corregir los errores automáticamente, comienza con una ejecución en seco.
7. Ejemplo: Simulación de error y corrección
- Crea un disco virtual y crea un sistema de archivos en él:
dd if=/dev/zero of=./disk.img bs=1M count=100
mkfs.ext4 ./disk.img
- Monta el disco:
sudo mount ./disk.img /mnt/test/
- Simula un daño:
sudo dd if=/dev/zero of=/mnt/test/randomfile bs=512 count=10
- Desmonta el disco y revísalo:
sudo umount /mnt/test/
fsck ./disk.img
Sigue las instrucciones del comando para corregir los errores.
En este punto ya comprendes bien cómo verificar el sistema de archivos, puedes corregir errores de manera adecuada y prevenir fallos. Nos esperan nuevas herramientas para trabajar con sistemas de archivos, pero fsck
ahora es tu herramienta confiable para diagnóstico y corrección.
GO TO FULL VERSION