Búsqueda de sitios web

Cómo utilizar 'fsck' para reparar errores del sistema de archivos en Linux


Los sistemas de archivos de Linux son responsables de organizar cómo se almacenan y recuperan los datos. De una forma u otra, con el tiempo, el sistema de archivos puede corromperse y es posible que no se pueda acceder a ciertas partes del mismo. Si su sistema de archivos desarrolla tales inconsistencias, se recomienda verificar su integridad.

Esto se puede completar mediante una utilidad del sistema llamada fsck (verificación de coherencia del sistema de archivos), que verifica el sistema de archivos raíz automáticamente durante el arranque o se ejecuta manualmente.

En este artículo, revisaremos el comando fsck y su uso para ayudarle a reparar errores de disco de Linux.

Cuándo utilizar el comando fsck en Linux

Hay diferentes escenarios en los que querrás ejecutar fsck. Aquí están algunos ejemplos:

  • El sistema no arranca.
  • Los archivos del sistema se corrompen (a menudo puede ver errores de entrada/salida).
  • La unidad conectada (incluidas las unidades flash/tarjetas SD) no funciona como se esperaba.

Opciones del comando fsck

El comando fsck debe ejecutarse con privilegios de superusuario o root. Puedes usarlo con diferentes argumentos. Su uso depende de su caso específico. A continuación verá algunas de las opciones más importantes:

  • -A: se utiliza para comprobar todos los sistemas de archivos. La lista está tomada de /etc/fstab.
  • -C: muestra la barra de progreso.
  • -l: bloquea el dispositivo para garantizar que ningún otro programa intente utilizar la partición durante la verificación.
  • -M: no comprueba los sistemas de archivos montados.
  • -N: solo muestra lo que se haría; no se realizan cambios reales.
  • -P: si desea verificar los sistemas de archivos en paralelo, incluido el root.
  • -R: no comprueba el sistema de archivos raíz. Esto sólo es útil con '-A'.
  • -r: proporciona estadísticas para cada dispositivo que se está verificando.
  • -T – No muestra el título.
  • -t: especifica exclusivamente los tipos de sistemas de archivos de Linux que se comprobarán. Los tipos pueden ser listas separadas por comas.
  • -V: proporciona una descripción de lo que se está haciendo.

Ejecute el comando fsck para reparar errores del sistema de archivos de Linux

Para ejecutar fsck, deberá asegurarse de que la partición que va a verificar no esté montada. Para los fines de este artículo, usaré mi segunda unidad /dev/sdb montada en /mnt.

Esto es lo que sucede si intento ejecutar fsck cuando la partición está montada.

fsck /dev/sdb

Para evitar esto, desmonte la partición usando.

umount /dev/sdb

Entonces se puede ejecutar fsck de forma segura.

fsck /dev/sdb

Comprender los códigos de salida de fsck

Después de ejecutar fsck, devolverá un código de salida. Estos códigos se pueden ver en el manual de fsck ejecutando:

man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck reparar sistema de archivos Linux

A veces se puede encontrar más de un error en un sistema de archivos. En tales casos, es posible que desee que fsck intente corregir los errores automáticamente. Esto se puede hacer con:

fsck -y /dev/sdb

El indicador -y automáticamente “yes” a cualquier mensaje de fsck para corregir un error.

De manera similar, puedes ejecutar lo mismo en todos los sistemas de archivos (sin root):

fsck -AR -y 

Cómo ejecutar fsck en la partición raíz de Linux

En algunos casos, es posible que necesites ejecutar fsck en la partición raíz de tu sistema. Como no puedes ejecutar fsck mientras la partición está montada, puedes probar una de estas opciones:

  • Forzar fsck al iniciar el sistema
  • Ejecute fsck en modo rescate

Revisaremos ambas situaciones.

Forzar fsck al iniciar el sistema

Esto es relativamente fácil de completar, lo único que necesita hacer es crear un archivo llamado forcefsck en la partición raíz de su sistema. Utilice el siguiente comando:

touch /forcefsck

Luego, simplemente puede forzar o programar un reinicio de su sistema. Durante el próximo arranque, se ejecutará el fsck. Si el tiempo de inactividad es crítico, se recomienda planificarlo cuidadosamente, ya que si hay muchos inodos usados en su sistema, fsck puede llevar algo de tiempo adicional.

Después de que su sistema arranque, verifique si el archivo todavía existe:

ls /forcefsck

Si es así, es posible que desees eliminarlo para evitar fsck en cada inicio del sistema.

Ejecute fsck en modo rescate

Ejecutar fsck en modo de rescate requiere algunos pasos más. Primero, prepare su sistema para reiniciar. Detenga cualquier servicio crítico como MySQL/MariaDB, etc. y luego escriba.

reboot

Durante el arranque, mantenga presionada la tecla shift para que se muestre el menú de grub. Seleccione "Opciones avanzadas".

Luego elija “Modo de recuperación”.

En el siguiente menú seleccione “fsck”.

Se le preguntará si desea volver a montar su sistema de archivos /. Seleccione “sí”.

Deberías ver algo similar a esto.

Luego podrá reanudar el inicio normal seleccionando “Reanudar”.

Conclusión

En este tutorial, aprendió a usar fsck y ejecutar comprobaciones de coherencia en diferentes sistemas de archivos de Linux. Si tiene alguna pregunta sobre fsck, no dude en enviarla en la sección de comentarios a continuación.