Comprobación y reparación: fsck, e2fsck, xfs_repair, tune2fs

Introducción

Los sistemas de archivos pueden corromperse tras un apagado brusco, un fallo de hardware o un error de software. Las herramientas de comprobación detectan y reparan inconsistencias. La regla más importante: nunca reparar un sistema de archivos montado.

fsck — Comprobador genérico

fsck es un wrapper que invoca la herramienta adecuada según el tipo de sistema de archivos: e2fsck para ext2/3/4, xfs_repair para xfs, etc.


# Comprobar una partición (DEBE ESTAR DESMONTADA)
fsck /dev/sdb1

# Especificar tipo de sistema de archivos
fsck -t ext4 /dev/sdb1

# Responder "sí" a todas las preguntas automáticamente
fsck -y /dev/sdb1

# Solo informar, no reparar (-n = no changes)
fsck -n /dev/sdb1

# Verbose
fsck -v /dev/sdb1

# El código de salida indica el resultado:
# 0 → sin errores
# 1 → errores corregidos
# 2 → el sistema debe reiniciarse
# 4 → errores no corregidos
# 8 → error operacional
# 16 → error de uso
          

Para comprobar la partición raíz (/), hacerlo desde un sistema Live o en el arranque (antes de que se monte). Algunos sistemas permiten forzar una comprobación en el siguiente arranque:


# Forzar comprobación de ext4 en el siguiente arranque
tune2fs -C 1 /dev/sda1     # marcarlo como que tiene 1 montaje pendiente
# o
touch /forcefsck            # en distribuciones que lo soporten (Debian antiguo)

# En systemd: forzar fsck descomentando en /etc/default/grub:
# GRUB_CMDLINE_LINUX="fsck.mode=force"
          

e2fsck — Reparar ext2/ext3/ext4


# Comprobar ext4 de forma interactiva
e2fsck /dev/sdb1

# Reparar automáticamente (respuesta "sí" a todo)
e2fsck -y /dev/sdb1

# Forzar comprobación aunque el sistema de archivos parezca limpio
e2fsck -f /dev/sdb1

# Comprobar y reparar usando el superbloque de respaldo
# (útil si el superbloque principal está dañado)
e2fsck -b 32768 /dev/sdb1    # superbloque de respaldo en bloque 32768
dumpe2fs /dev/sdb1 | grep "Backup superblock"   # ver bloques de respaldo

# Modo verbose
e2fsck -v /dev/sdb1

# Ver información del sistema de archivos (sin modificar)
dumpe2fs /dev/sdb1 | head -50
          

xfs_repair — Reparar XFS


# Comprobar y reparar XFS (dispositivo desmontado)
xfs_repair /dev/sdb1

# Solo comprobar, sin reparar (-n = no modify)
xfs_repair -n /dev/sdb1

# Verbose
xfs_repair -v /dev/sdb1

# Si xfs_repair falla porque el log no está limpio,
# montar y desmontar el dispositivo primero para limpiar el log:
mount /dev/sdb1 /mnt/tmp
umount /mnt/tmp
# Luego ejecutar xfs_repair

# Si el log está dañado y no se puede montar, forzar limpieza del log:
xfs_repair -L /dev/sdb1   # PELIGROSO: puede perder transacciones recientes

# Información del sistema XFS
xfs_info /dev/sdb1
xfs_db -r /dev/sdb1    # modo debug interactivo (solo lectura con -r)
          

tune2fs — Ajustar parámetros de ext2/3/4


# Ver parámetros actuales del sistema de archivos
tune2fs -l /dev/sdb1

# Cambiar etiqueta de volumen
tune2fs -L "nueva_etiqueta" /dev/sdb1

# Cambiar UUID
tune2fs -U random /dev/sdb1
tune2fs -U "a1b2c3d4-..." /dev/sdb1

# Cambiar porcentaje de espacio reservado para root (por defecto 5%)
tune2fs -m 1 /dev/sdb1    # reducir al 1% (útil en discos grandes de datos)

# Definir comprobación periódica por número de montajes
tune2fs -c 30 /dev/sdb1   # comprobar cada 30 montajes
tune2fs -c 0 /dev/sdb1    # deshabilitar comprobación por montajes

# Definir comprobación periódica por tiempo
tune2fs -i 6m /dev/sdb1   # comprobar cada 6 meses
tune2fs -i 0 /dev/sdb1    # deshabilitar comprobación por tiempo

# Convertir ext3 a ext4 (conservando datos)
tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
e2fsck -fD /dev/sdb1
          

Comprobación en Btrfs


# Comprobar Btrfs (dispositivo desmontado; usar con precaución)
btrfs check /dev/sdb1

# Solo lectura (sin reparar)
btrfs check --readonly /dev/sdb1

# Scrub: verificar checksums mientras está montado (recomendado)
btrfs scrub start /mnt/datos
btrfs scrub status /mnt/datos

# Balance: reequilibrar los datos entre dispositivos
btrfs balance start /mnt/datos
          

Guía de actuación ante corrupción


# 1. Desmontar el sistema de archivos afectado
umount /dev/sdb1

# 2. Identificar el tipo de sistema de archivos
blkid /dev/sdb1

# 3. Ejecutar la herramienta apropiada
#    ext4:  e2fsck -f /dev/sdb1
#    xfs:   xfs_repair /dev/sdb1
#    btrfs: btrfs check /dev/sdb1

# 4. Si la partición raíz está corrupta:
#    Arrancar desde Live CD/USB
#    mount /dev/sda1 /mnt  # NO montar como /
#    fsck /dev/sda1

# 5. Montar de nuevo y verificar
mount /dev/sdb1 /mnt/datos
ls /mnt/datos
          

Nunca ejecutar fsck o xfs_repair en un sistema de archivos montado — puede causar corrupción irreversible. Si el sistema no arranca por un error de fsck, arrancar en modo emergency y reparar manualmente.

LVM: pvcreate, vgcreate, lvcreate, lvextend, snapshots

Índice de la sección

Índice del curso