Erreur fsck au demarrage

Bonjour,

J’ai l’erreur suivante au démarrage :

fsck: error 2 (no such file or directory) while executing fsck.ext4 for /dev/sda1
fsck exited with status code 8

L’ordinateur reprend ensuite le démarrage normal.

Contexte :
Je viens de changer de machine (pc portable), et j’ai cloné mon disque vers le nouveau.
Comme le nouveau est plus grand j’ai modifié les partitions.
Après réinstallation de GRUB le nouveau portable démarre sans soucis. Pas de message sur Fsck à ce moment la, sur plusieurs redémarrages.
Comme je suis passé sur une machine très récente, le noyau de Jessie était trop ancien, et j’ai du installer Stretch. La mise à jour s’est bien passée, mais depuis j’ai ce message au boot.

Quelques infos pour vous aider à m’aider

fdisk -l

Disk /dev/sda: 223,6 GiB, 240057409536 bytes, 468862128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00055ca8

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 78514175 78512128 37,4G 83 Linux
/dev/sda2 435308544 468860927 33552384 16G 82 Linux swap / Solaris
/dev/sda3 78514176 435308543 356794368 170,1G 83 Linux

Partition table entries are not in disk order.

Disk /dev/mapper/cryptswap1: 16 GiB, 17178820608 bytes, 33552384 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

blkid

/dev/sda1: LABEL=“systeme” UUID=“4389375a-dcb2-4f5d-a97a-3dccc151327e” TYPE=“ext4” PARTUUID=“00055ca8-01”
/dev/sda2: PARTUUID=“00055ca8-02”
/dev/sda3: LABEL=“donnees” UUID=“dd156912-162b-4c49-ac5d-c311f6b17a9a” TYPE=“ext4” PARTUUID=“00055ca8-03”
/dev/mapper/cryptswap1: UUID=“6fbcc665-588d-4697-b9c3-65ee4341712e” TYPE=“swap”

more /etc/fstab (j’ai rajouté les % parceque sinon le forum interprétait les dièses en gros et gras)

%# Disque système (sda1)
%#/dev/sda1 / ext4 discard,relatime,errors=remount-ro 0 1
UUID=4389375a-dcb2-4f5d-a97a-3dccc151327e / ext4 discard,relatime,errors=remount-ro 0 1
%# Partition d’echange
/dev/dm-0 none swap sw 0 0
%# Disque donnees (sda3)
UUID=dd156912-162b-4c49-ac5d-c311f6b17a9a /home ext4 relatime,discard 1 2
%# Montage de divers dossiers en memoire vive
tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
%#tmpfs /var/log tmpfs defaults,noexec,nosuid 0 0
tmpfs /lib/init/rw tmpfs defaults,noexec,nosuid 0 0
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
%#tmpfs /var/lock tmpfs defaults,noexec,nosuid 0 0
%#tmpfs /var/run tmpfs defaults,noexec,nosuid 0 0
%# Systeme de fichier pour debug
debugfs /sys/kernel/debug debugfs defaults 0 0
/dev/mapper/cryptswap1 none swap sw 0 0

et une partie du fichier /boot/grub/grub.cfg

menuentry ‘Debian GNU/Linux’ --class debian --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-4389375a-dcb2-4f5d-a97a-3dccc151327e’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos1’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 4389375a-dcb2-4f5d-a97a-3dccc151327e
else
search --no-floppy --fs-uuid --set=root 4389375a-dcb2-4f5d-a97a-3dccc151327e
fi
echo 'Chargement de Linux 4.3.0-1-amd64…'
linux /boot/vmlinuz-4.3.0-1-amd64 root=UUID=4389375a-dcb2-4f5d-a97a-3dccc151327e ro quiet
echo 'Chargement du disque mémoire initial…'
initrd /boot/initrd.img-4.3.0-1-amd64
}

J’ai bien sûr recherché sur le net, mais je n’ai pas trouvé de pistes utiles.

Bonjour,

As-tu réinstallé le chargeur de boot avec grub-install ou seulement mis à jour le fichier /boot/grub/grub.cfg avec update-grub ?

=======
Pourrais-tu nous donner un copié/collé du retour des commandes suivantes :
cat /var/log/fsck/checkroot
cat /var/log/fsck/checkfs

Merci.

=======

Si tu utilise le bouton </> (<=> Texte préformaté), les caractères # ni les suites d’espace ne seront interprétés,
et les lignes ne seront pas “wrappées”, ce qui donnera un rendu beaucoup plus facile à lire.

# Disque système (sda1)
UUID=4389375a-dcb2-4f5d-a97a-3dccc151327e /                 ext4     discard,relatime,errors=remount-ro  0   1
#/dev/sda1 / ext4  discard,relatime,errors=remount-ro 0 1

# Partition d'echange
/dev/dm-0                                 none              swap     sw                                  0   0
/dev/mapper/cryptswap1                    none              swap     sw                                  0   0

# Disque donnees (sda3)
UUID=dd156912-162b-4c49-ac5d-c311f6b17a9a /home             ext4     relatime,discard                    1   2

# Montage de divers dossiers en memoire vive
tmpfs                                     /tmp              tmpfs    defaults,noexec,nosuid              0   0
tmpfs                                     /lib/init/rw      tmpfs    defaults,noexec,nosuid              0   0
tmpfs                                     /dev/shm          tmpfs    defaults,noexec,nosuid              0   0
#tmpfs /var/log tmpfs defaults,noexec,nosuid 0 0
#tmpfs /var/lock tmpfs defaults,noexec,nosuid 0 0
#tmpfs /var/run tmpfs defaults,noexec,nosuid 0 0

# Systeme de fichier pour debug
debugfs                                   /sys/kernel/debug debugfs  defaults                            0   0

Salut,
Pour / c’est initramfs qui lance le fsck, le log est dans /run/initramfs
Exemple
root@desktop:/run/initramfs# ls -alrt
total 4
-rw-r–r-- 1 root root 0 mars 13 13:35 fsck-root
-rw-r–r-- 1 root root 202 mars 13 13:35 fsck.log
drwxr-xr-x 2 root root 80 mars 13 13:35 .
drwxr-xr-x 25 root root 820 mars 13 13:42 …
root@desktop:/run/initramfs# cat fsck.log
Log of fsck -C -a -T -t ext4 /dev/sda1
Sun Mar 13 12:35:03 2016

/dev/sda1: recovering journal
/dev/sda1: clean, 172659/1831424 files, 1368557/7323904 blocks

Sun Mar 13 12:35:04 2016
----------------

cf https://www.debian.org/releases/jessie/amd64/release-notes/ch-upgrading.fr.html#initramfs-tools-issues

Merci de votre réponse.

Voici les logs demandés :
cat /var/log/fsck/checkroot

Log of fsck -C -a -t ext4 /run/rootdev 
Wed May 13 21:05:02 2015
fsck from util-linux 2.20.1
systeme: clean, 438978/2199344 files, 4945687/8788736 blocks

Wed May 13 21:05:02 2015
----------------

cat /var/log/fsck/checkfs

Log of fsck -C -R -A -a 
Wed May 13 21:05:03 2015

fsck from util-linux 2.20.1
donnees: clean, 56747/5365760 files, 17051019/21444352 blocks

Wed May 13 21:05:03 2015
----------------

cat /run/initramfs/fsck.log

Log of fsck -C -a -T -t ext4 /dev/sda1 
Sun Mar 13 15:49:03 2016

fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/sda1
fsck exited with status code 8

Sun Mar 13 15:49:03 2016
----------------

Pour GRUB, j’ai réinstallé le chargeur de boot à l’aide d’une clé bootable de Debian (j’imagine que ça correspond à grub-install
J’ai également modifié quelques éléments dans mon grub.cfg et j’ai donc utilisé update-grub2 par la suite.

le problème est cité ici
https://lists.debian.org/debian-kernel/2014/10/msg00483.html
et ici
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765614

Thanks for that! Indeed, I confirm that downgrading initramfs-tools to
0.116 (the jessie version) in the generated image fixes the fsck
failure and boot loop.

Sur Jessie
@desktop:~$ apt list initramfs-tools
En train de lister… Fait
initramfs-tools/proposed-updates,now 0.120+deb8u1 all [installé, automatique]
initramfs-tools/stable 0.120 all

apt list initramfs-tools

En train de lister... Fait
initramfs-tools/testing,testing,now 0.123 all  [installé]

Je ne suis pas certain que ce soit le même problème. Mon système n’est pas dans une boucle de boot. Il fonctionne normalement (en tout cas, pas d’autre impact visible que le message au démarrage). Si je comprends bien, ça implique juste que mon système de fichier racine n’est pas vérifié au boot, ce qui n’est pas idéal, j’en conviens.

Par contre, tout ce que j’avais pu trouver jusqu’à présent me laissait à penser que le «No such file or directory» concernait /dev/sda1 et pas fsck.ext4 . Ce post est le premier qui mentionne cette possibilité. Je vais creuser un peu de mon côté.

En tout cas le code de retour 8 n’est pas super utile pour le diagnostic :

Que donne la commande fsck.ext4 exécutée à la main ?

Tu as donc installé le chargeur de boot de la clef et pas celui correspondant à ton système, ce qui fait que le chargeur de boot installé recherche la partition qui était sur la clef.
Depuis la clef USB, il aurait fallu faire un chroot.

Mais le plus simple est d’installer le chargeur de boot depuis ton système démarré avec la commande grub-install et perso, je referai d’abord un update-initramfs et update-grub, avant.

Bingo !

Ça a l’air de marcher.

Merci de ton aide :slight_smile: