¿Cómo usar el comando fsck en Linux?

El comando fsck (comprobación de consistencia del sistema de archivos) es una utilidad para comprobar y reparar un sistema de archivos Linux. Los sistemas de archivos modernos con registro diario están diseñados de tal manera que no se requieren herramientas como fsck fácilmente. Sin embargo, en algunos casos, fsck podría ser la única opción para reparar un sistema de archivos ‘defectuoso’.

fsck se puede ejecutar en una partición que se haya corrompido o que no sea coherente con el resto del archivo.

Razones por las que se puede requerir fsck

  • Cierre impuro-Esta es la principal causa de corrupción. Debido a un “apagado impuro”, el sistema puede fallar al arrancar correctamente
  • Fallo o corrupción de la unidad

Tabla de Contenidos

Entornos En los Que NO DEBE Usar fsck

Dado que el comando funciona directamente con los sectores del sistema de archivos, es importante tomar las precauciones necesarias aquí.

la página de manual de e2fsck dice:

Tenga en cuenta que, en general, no es seguro ejecutar e2fsck en sistemas de archivos montados. La única excepción es si se especifica la opción-n y no se especifican las opciones-c, – l o-L. Sin embargo, incluso si es seguro hacerlo, los resultados impresos por e2fsck no son válidos si el sistema de archivos está montado. Si e2fsck pregunta si debe comprobar o no un sistema de archivos montado, la única respuesta correcta es “no”.

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

Por lo tanto, debe hacer fsck en una partición sin montar. Si puede desmontar la partición usando umount, bien y bien. De lo contrario, necesita cambiar su entorno:

1. Modo de recuperación

(Para Ubuntu – Hold SHIFT durante el arranque para entrar en GRUB, Seleccione ‘Opciones avanzadas para Ubuntu’, luego seleccione la opción etiquetada’ modo de recuperación’, luego seleccione fsck). En el modo de recuperación, las particiones se montan.

Modo de recuperación Fsck
Modo de recuperación fsck

2. Mientras se usa el parámetro del núcleo init=/bin/bash

(Mantenga pulsado SHIFT mientras arranca para entrar en GRUB, pulse e para editar los parámetros del núcleo). Proporciona un shell bash desde donde se puede ejecutar fsck, pero aquí también se montan las particiones.

Parámetro del núcleo de inicio
Parámetro del Núcleo de inicio

¿Cómo usar el comando fsck?

Con los conceptos básicos claros, pasemos a los pasos de cómo debe usar el comando fsck en Linux.

1. Uso básico de

Antes de comenzar a usar el comando, asegúrese de que está trabajando en una partición sin montar. Para desmontar una partición y luego ejecutar fsck en ella, escriba :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

Lo más probable es que no pueda desmontar la partición. En ese caso, puede elegir uno de los siguientes métodos.

2. Ejecutar fsck usando un USB vivo

Esta es probablemente la mejor manera de ejecutar fsck. Proporciona un rico conjunto de herramientas conocidas como fdisk. Utilice este tutorial para crear un USB Ubuntu en vivo. Esta parte asume que está ejecutando Linux desde un USB en vivo.

Para listar todas las particiones de su sistema, puede usar el comando fdisk.

$ sudo fdisk -l
Particiones Nvme
Particiones SSD NVMe
Particiones SSD Sata
Particiones SSD SATA

Nota: Las particiones que se muestran arriba (para 2 SSD, una NVMe y otra SATA) pueden ser diferentes de las que tiene en su sistema. fdisk también imprime más información sobre las particiones. Sin embargo, a los efectos de este artículo, el nombre de la partición es suficiente.

Identifique la partición que está causando problemas, luego simplemente ejecute:

$ fsck /dev/<partition_name>

Esto debería solucionar el problema.

3. Usando initramfs

Otra forma de usar el comando fsck es en modo intramfs. Para entrar initramfs

  1. Mantenga pulsada la tecla SHIFT durante el arranque para entrar en el menú GRUB.
  2. Pulse e para editar la entrada de arranque
  3. Añada el parámetro del núcleo como ‘break ‘como se muestra en la imagen siguiente
  4. Pulse Ctrl - X para guardar y salir
Entrar En Initramfs
Entrar En Initramfs

initramfs proporciona una forma “menos atractiva” de resolución de problemas.

Las particiones no están montadas en initramfs, por lo que realizar fsck sería seguro. Además, necesita el nombre de la partición. Initramfs, sin embargo, proporciona un mínimo de utilidades. Así que fdisk no estará disponible. Puede enumerar las particiones utilizando el comando cat como se muestra a continuación:

$ cat /proc/partitions

Identificar la partición y luego ejecutar:

$ fsck /dev/<partition_name>
Initramfs Fschk
Initramfs Fsck

Nota: es posible que el fsck con USB en vivo no esté siempre disponible. En tal caso, utilice el método initramfs.

Cómo comprobar si fsck está programado o no

Es posible que desee saber cuándo se revisó su partición por última vez o cuándo lo hará en el futuro. En ese caso, corre:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
Comprobación De Fsck 1
Comprobación De Fsck
  • El número máximo de montajes es el número de montajes después de los cuales el sistema de archivos será verificado automáticamente por fsck.
  • El intervalo de comprobación es el tiempo entre dos comprobaciones del sistema de archivos.

Estos dos valores son suficientes para identificar cuándo se ejecutó por última vez el comando fsck.

Diferencia entre fsck y e2fsck

Puede encontrar diferentes respuestas / artículos que le pidan que ejecute e2fsck o fsck.ext4 en lugar de fsck. ¿Qué diferencia hay si ejecuta cualquiera de estas herramientas en lugar de fsck?

fsck es solo una interfaz para todos los comandos fsck específicos del sistema de archivos como los dos mostrados anteriormente (un contenedor, por así decirlo). Invocar fsck automáticamente invoca el fsck específico del sistema de archivos correcto. Veamos qué fsck hay en nuestro sistema:

$ ls -l /sbin/fsck*
Diferentes Fscks
Listado de todos los fsck

Al ejecutar fsck en una partición ext2/3/4, se ejecuta el ejecutable /sbin/fsck.ext* correspondiente. Estos ejecutables a su vez son enlaces duros al ejecutable e2fsck. Por lo tanto, incluso si ejecuta fsck en una partición ext4, finalmente ejecutará e2fsck.

Conclusión

En este tutorial cubrimos fsck, que es una herramienta útil para la recuperación de sistemas de archivos. Para obtener más información sobre el comando fsck, consulte su página de manual.

Leave a Reply