¿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.
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.
¿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
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
- Mantenga pulsada la tecla
SHIFT
durante el arranque para entrar en el menú GRUB. - Pulse
e
para editar la entrada de arranque - Añada el parámetro del núcleo como ‘
break
‘como se muestra en la imagen siguiente - Pulse
Ctrl - X
para guardar y salir
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>
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'
- 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*
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