Ayer, una de nuestras computadoras bajó a grub shell o, sinceramente, no estoy seguro de qué shell era cuando encendimos la máquina.
Mostró que no puede montar el sistema de archivos raíz o algo por el estilo, debido a las inconsistencias.
Corrí, creo:
fsck -fy /dev/sda2
Se reinició y el problema desapareció.
Aquí viene la parte de la pregunta:
Ya tengo en el crontab de su root:
@reboot /home/ruzena/Development/bash/fs-check.sh
mientras que el script contiene:
#!/bin/bash
touch /forcefsck
Pensando en ello, no sé por qué creé un archivo de script para un comando tan corto, pero de todos modos...
Además, en el archivo:
/etc/default/rcS
He definido:
FSCKFIX=yes
Así que no lo entiendo. ¿Cómo podría surgir la situación?
¿Qué debo hacer para forzar la comprobación del sistema de archivos raíz (y, opcionalmente, una corrección) en el arranque?
¿O estas dos cosas son lo máximo que puedo hacer?
SO: Linux Mint 18.x Canela de 64 bits.
fstab :
cat /etc/fstab | grep ext4
muestra:
UUID=a121371e-eb12-43a0-a5ae-11af58ad09f4 / ext4 errors=remount-ro 0 1
grub :
fsck.mode=force
ya fue agregado al grub configuración.
Respuesta aceptada:
ext4 verificación del sistema de archivos durante el arranque
Probado en OS:Linux Mint 18.x en una máquina virtual
Información básica
/etc/fstab tiene el fsck orden como la última (sexta) columna, por ejemplo:
<file system> <mount point> <type> <options> <dump> <fsck>
UUID=2fbcf5e7-1234-abcd-88e8-a72d15580c99 / ext4 errors=remount-ro 0 1
FSCKFIX=yes variable en /etc/default/rcS
Esto cambiará el fsck a corrección automática, pero no forzar una comprobación de fsck.
De man rcS :
FSCKFIX When the root and all other file systems are checked, fsck is invoked with the -a option which means "autorepair". If there are major inconsistencies then the fsck process will bail out. The system will print a message asking the administrator to repair the file system manually and will present a root shell prompt (actually a sulogin prompt) on the console. Setting this option to yes causes the fsck commands to be run with the -y option instead of the -a option. This will tell fsck always to repair the file systems without asking for permission.
De man tune2fs
If you are using journaling on your filesystem, your filesystem will never be marked dirty, so it will not normally be checked.
Empezar con
Configuración de lo siguiente
FSCKFIX=yes
en el archivo
/etc/default/rcS
Verifique y anote la última vez que se verificó fs:
sudo tune2fs -l /dev/sda1 | grep "Last checked"
Estas dos opciones NO funcionaron
-
Pasando
-F(forzarfsckal reiniciar) argumento parashutdown:shutdown -rF nowNo; ver:
man shutdown. -
Agregar el
/forcefsckarchivo vacío con:touch /forcefsckEstos scripts parecen usar esto:
/etc/init.d/checkfs.sh /etc/init.d/checkroot.shNO funciona al reiniciar, pero el archivo se eliminó.
Verificado por:
sudo tune2fs -l /dev/sda1 | grep "Last checked" sudo less /var/log/fsck/checkfs sudo less /var/log/fsck/checkrootEstos parecen ser los registros para el
initguiones.
Repito, ¡estas dos opciones NO funcionaron!
Relacionado:¿Puede una Macbook arrancar dualmente Snow Leopard y Lion?Ambos métodos SÍ funcionaron
-
conmutadores de arranque del kernel systemd-fsck
Editando el
grubprincipal archivo de configuración:sudoedit /etc/default/grubGRUB_CMDLINE_LINUX="fsck.mode=force"sudo update-grub sudo rebootEsto hizo una verificación del sistema de archivos como se verificó con:
sudo tune2fs -l /dev/sda1 | grep "Last checked"Nota:Este HIZO una verificación, pero para forzar una solución también, debe especificar
fsck.repair="preen"ofsck.repair="yes". -
Uso de
tune2fspara establecer el número de montajes del sistema de archivos antes de hacer unfsck,man tune2fstune2fs' info is kept in the file system superblock-cinterruptor establece el número de veces para montar el fs antes de comprobar el fs.sudo tune2fs -c 1 /dev/sda1Verifique con:
sudo tune2fs -l /dev/sda1Este HIZO trabajo como verificado con:
sudo tune2fs -l /dev/sda1 | grep "Last checked"
Resumen
Para forzar un fsck en cada arranque en Linux Mint 18.x, use tune2fs o fsck.mode=force , con fsck.repair=preen opcional / fsck.repair=yes , la línea de comando del kernel cambia.