Uso de fsck

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción.

La herramienta fsck (file system check) constituye la utilidad primordial en GNU/Linux para verificar y reparar la integridad de sistemas de archivos. Este manual detalla su uso correcto y seguro, incluyendo técnicas avanzadas para verificar la partición raíz.

Acerca de fsck.

fsck sirve de frente unificado para programas específicos de verificación como fsck.ext2, fsck.ext3, fsck.ext4, e2fsck, fsck.fat y fsck.xfs, entre otros. Detecta automáticamente el formato de la partición y ejecuta el verificador correspondiente.

Distribuciones modernas como AlmaLinux, Rocky Linux, RHEL 8/9/10 y ALDOS incluyen fsck como parte del paquete esencial util-linux.

Procedimientos esenciales y precauciones.

Advertencia fundamental: Ejecutar fsck sobre un sistema de archivos montado en modo lectura/escritura implica un alto riesgo de corrupción de datos y pérdida irreversible de información. La partición destino debe permanecer desmontada antes de cualquier verificación.

Verificación de particiones no-raíz (ej: /boot).

El siguiente flujo de trabajo demuestra el proceso seguro para verificar una partición como /boot:

  1. Identificar el dispositivo:

     df -h | grep /boot

    La salida indicará el dispositivo (ej: /dev/sda1).

  2. Desmontar la partición:

     umount /boot
  3. Confirmar que se desmontó:

     df -h | grep /boot

    Este mandato debe devolver una salida vacía.

  4. Ejecutar fsck (con el dispositivo identificado, ej: /dev/sda1):

     fsck -fyC /dev/sda1
  5. Volver a montar la partición tras la verificación:

     mount /boot

Opciones prácticas y avanzadas de fsck.

Lista de las combinaciones de opciones más útiles.

La opción -M: Evitar verificación de sistemas montados.

La opción -M es sumamente práctica en guiones de instrucciones o al ejecutar fsck manualmente en sistemas con múltiples particiones. Impide que fsck verifique sistemas de archivos que están montados, evitando acciones potencialmente destructivas sobre datos en uso.

Ejemplo de uso:

fsck -M /dev/sda1

Si /dev/sda1 está montado, fsck finalizará inmediatamente con un código de salida distinto de cero, sin realizar ninguna operación.

Caso de uso típico: En un guiones de instrucciones de mantenimiento que verifica todas las particiones de /etc/fstab, -M garantiza seguridad al omitir automáticamente las particiones raíz (/), /home, etc., que estarían montadas durante el arranque normal.

Verificación exhaustiva de bloques dañados preservando el historial (Práctica recomendada):

fsck -fpkcc /dev/sdX#

Verificación de la partición raíz (/).

Verificar el sistema de archivos raíz presenta un desafío: es el sistema de archivos activo que contiene el núcleo del sistema operativo, fsck mismo y todas las bibliotecas. La solución consiste en montar la partición raíz en modo de sólo lectura en un entorno con servicios detenidos.

El método recomendado para realizar esta operación de manera segura es iniciar el sistema en modo monousuario (runlevel 1 o modo rescate). En este modo, la partición raíz se monta típicamente en sólo lectura, o puede remontarse como tal, permitiendo la ejecución segura de fsck.

Procedimiento general:

  1. Reiniciar el sistema e iniciar en modo monousuario o de rescate. Para instrucciones detalladas sobre este proceso, consulte el manual: Iniciando el sistema en modo monousuario.
  2. En el intérprete de mantenimiento, remontar la raíz como sólo lectura (si aún no lo está):
       mount -o remount,ro /
  3. Ejecutar fsck de manera forzosa con reparación automática:
       fsck -fy /
  4. Tras la verificación, remontar la raíz como lectura/escritura y reiniciar:
       mount -o remount,rw /
       reboot

Programar verificación en el próximo arranque.

El sistema puede configurarse para ejecutar fsck automáticamente durante el arranque. El método tradicional, válido y efectivo en sistemas que utilizan SysVinit como ALDOS, consiste en crear un archivo flag:

touch /forcefsck

Para forzar un reinicio inmediato con verificación de sistemas de archivos:

shutdown -F -r now

En sistemas modernos que utilizan systemd (como RHEL 8/9/10 y derivados), también es posible utilizar el mandato systemctl para lograr un resultado similar:

systemctl --force --force reboot

Verificación automática periódica con tune2fs (sistemas ext2/3/4).

Para sistemas de archivos de la familia ext (ext2, ext3, ext4), es posible programar verificaciones automáticas periódicas sin intervención manual utilizando la herramienta tune2fs. Esta utilidad ajusta parámetros del sistema de archivos, incluido el número de montajes entre verificaciones forzosas, lo que resulta idóneo para servidores o sistemas que requieren alta disponibilidad.

Establecer un intervalo de verificaciones.

Ejecute el siguiente mandato para configurar que el sistema de archivos en /dev/sda1 se verifique automáticamente cada 30 montajes:

tune2fs -c 30 /dev/sda1

Tras alcanzar el número de montajes establecido, el sistema realizará una verificación forzosa en el próximo arranque, previa a la montación de la partición.

Desactivar o ajustar la verificación por conteo de montajes.

Algunas distribuciones establecen el valor predeterminado en 0, lo que desactiva esta función de verificación por conteo. Para desactivarla explícitamente utilice:

tune2fs -c 0 /dev/sda1

Para configurar que el sistema se verifique con cada montaje (útil para depuración o entornos de alta criticidad), utilice:

tune2fs -c 1 -f /dev/sda1

La opción -f fuerza la operación incluso si el sistema de archivos está montado.

Consultar la configuración actual.

Para conocer tanto el número máximo de montajes configurado como el contador actual de montajes desde la última verificación, ejecute:

tune2fs -l /dev/sda1 | grep -E "Maximum mount count|Mount count"

Esta característica ofrece un equilibrio entre el mantenimiento proactivo de la integridad del sistema de archivos y la disponibilidad continua del sistema.

Referencia de opciones comunes de fsck.

La siguiente tabla resume las opciones más utilizadas, agrupadas por función:

Opción Descripción Uso Recomendado
-f Fuerza la verificación, incluso si el sistema parece limpio. Siempre que se desee una verificación completa.
-p Repara automáticamente aquellos problemas que admiten una resolución segura sin intervención. Opción más prudente que -y; idónea para procesos automatizados.
-p Repara automáticamente problemas que no requieren intervención. Más conservadora que -y; buena para automatización.
-C Muestra una barra de progreso durante la operación. Para operaciones largas; ofrece retroalimentación visual.
-M Excluye de la verificación a los sistemas de archivos montados. En guiones de instrucciones o programas de automatización para preservar la integridad de sistemas en uso.
-c Ejecuta una verificación de solo-lectura para buscar bloques dañados (bad blocks). Diagnóstico preventivo. Resulta imperativo combinarla con -k para preservar la lista existente.
-cc Ejecuta una verificación de lectura/escritura no destructivo de bad blocks. Diagnóstico exhaustivo (más lento). Requiere el uso de -k para conservar y ampliar el historial de bloques problemáticos.
-k Preserva la lista existente de bloques dañados al usar -c o -cc. Lección clave: Evita la pérdida del trabajo de verificación previo; los nuevos bloques defectuosos se añaden a la lista sin sobrescribirla.

🛠️ Experiencia práctica: En el pasado, la omisión de la opción -k durante las largas verificaciones de sectores en discos duros IDE podía resultar en la pérdida completa de la lista de bloques defectuosos ya identificada, desperdiciando días de trabajo. Por ello, la combinación de -c/-cc con -k se considera una práctica fundamental y obligada.