Hier, un de nos ordinateurs est tombé sur grub
shell ou honnêtement, je ne sais pas de quel shell il s'agissait lorsque nous avons allumé la machine.
Il a montré qu'il ne peut pas monter le système de fichiers racine ou quelque chose dans ce sens, à cause d'incohérences.
J'ai couru, je crois :
fsck -fy /dev/sda2
Redémarré et le problème a disparu.
Voici la partie question :
J'ai déjà dans la crontab de sa racine :
@reboot /home/ruzena/Development/bash/fs-check.sh
alors que le script contient :
#!/bin/bash
touch /forcefsck
En y réfléchissant, je ne sais pas pourquoi j'ai créé un fichier de script pour une commande aussi courte, mais de toute façon…
Plus loin, dans le fichier :
/etc/default/rcS
J'ai défini :
FSCKFIX=yes
Donc je ne comprends pas. Comment la situation a-t-elle pu se produire ?
Que dois-je faire pour forcer la vérification du système de fichiers racine (et éventuellement un correctif) au démarrage ?
Ou est-ce que ces deux choses sont le maximum que je peux faire ?
SE : Linux Mint 18.x Cannelle 64 bits.
fstab
:
cat /etc/fstab | grep ext4
affiche :
UUID=a121371e-eb12-43a0-a5ae-11af58ad09f4 / ext4 errors=remount-ro 0 1
grub
:
fsck.mode=force
a déjà été ajouté au grub
configuration.
Réponse acceptée :
ext4
vérification du système de fichiers au démarrage
Testé sur OS :Linux Mint 18.x dans une machine virtuelle
Informations de base
/etc/fstab
a le fsck
ordre comme dernière (6e) colonne, par exemple :
<file system> <mount point> <type> <options> <dump> <fsck>
UUID=2fbcf5e7-1234-abcd-88e8-a72d15580c99 / ext4 errors=remount-ro 0 1
FSCKFIX=yes
variable dans /etc/default/rcS
Cela changera le fsck en réparation automatique, mais pas forcer une vérification 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.
Commencer par
Paramétrer les éléments suivants
FSCKFIX=yes
dans le fichier
/etc/default/rcS
Vérifiez et notez la dernière vérification de fs :
sudo tune2fs -l /dev/sda1 | grep "Last checked"
Ces deux options n'ont PAS fonctionné
-
Passer
-F
(forcefsck
au redémarrage) argument deshutdown
:shutdown -rF now
Non; voir :
man shutdown
. -
Ajout du
/forcefsck
fichier vide avec :touch /forcefsck
Ces scripts semblent utiliser ceci :
/etc/init.d/checkfs.sh /etc/init.d/checkroot.sh
n'a PAS fonctionne au redémarrage, mais le fichier a été supprimé.
Vérifié par :
sudo tune2fs -l /dev/sda1 | grep "Last checked" sudo less /var/log/fsck/checkfs sudo less /var/log/fsck/checkroot
Ceux-ci semblent être les journaux pour le
init
scripts.
Je le répète, ces deux options n'ont PAS fonctionné !
En relation:Un Macbook dual boot Snow Leopard et Lion peut-il démarrer ??Ces deux méthodes ont fonctionné
-
commutateurs de démarrage du noyau systemd-fsck
Modification du
grub
principal fichier de configuration :sudoedit /etc/default/grub
GRUB_CMDLINE_LINUX="fsck.mode=force"
sudo update-grub sudo reboot
Cela a fait une vérification du système de fichiers comme vérifié avec :
sudo tune2fs -l /dev/sda1 | grep "Last checked"
Remarque :Ce DID une vérification, mais pour forcer un correctif également, vous devez spécifier
fsck.repair="preen"
, oufsck.repair="yes"
. -
Utiliser
tune2fs
pour définir le nombre de montages du système de fichiers avant de faire unfsck
,man tune2fs
tune2fs' info is kept in the file system superblock
-c
Le commutateur définit le nombre de fois pour monter le fs avant de vérifier le fs.sudo tune2fs -c 1 /dev/sda1
Vérifiez avec :
sudo tune2fs -l /dev/sda1
Ce FAIT fonctionne comme vérifié avec :
sudo tune2fs -l /dev/sda1 | grep "Last checked"
Résumé
Pour forcer un fsck
à chaque démarrage sur Linux Mint 18.x, utilisez soit tune2fs
, ou fsck.mode=force
, avec fsck.repair=preen
facultatif / fsck.repair=yes
, les commutateurs de ligne de commande du noyau.