Debian stretch ne démarre plus "EXT4-fs (dm-1): Cannot load crc32c driver"

Tags: #<Tag:0x00007f336b64a910>

Bonjour à toutes et à tous,

Hier soir, j’ai arrêté mon système Debian stretch et je ne suis pas parvenue le faire démarrer ce matin.

Je suis une débutante, j’ai installé le système il y a des mois (des années?) en utilisant une installation guidée chiffrée avec LVM (rien d’extraordinaire en ce qui concerne les partitions: / et / swap).

Voici deux photos des erreurs:

https://imgur.com/8mPgDvK

Sur la première photo, tout ce qui est à l’écran a toujours été là, à l’exception de la ligne suivante:

alg: hash: digest failed on test 1 for crc32c-intel: ret=126

La deuxième photo est prise après avoir entré avec succès ma phrase secrète.

https://imgur.com/PwCJkQM

La partie intéressante est probablement celle-ci:

EXT4-fs (dm-1): Cannot load crc32c driver

Une idée pour résoudre ceci?

Merci d’avance pour votre aide!

Alex

PS. J’ai pu accéder au contenu du disque en le branchant sur une autre machine Debian à l’aide d’un adaptateur USB <-> SATA, il semble donc que ce ne soit pas une panne de disque

Salut
Lors du boot dans les menus grub, as tu essayé en sélectionnant un autre noyau ?

Je n’ai pas accès au site d’hébergement des photos d’où je suis.

Le message d’erreur “ext4-fs: Cannot load crc32c driver” me dit quelque chose. Il me semble qu’il est dû à une dépendance “molle” entre les modules ext4 et crc32c, c’est-à-dire qui ne figure pas en tant que telle dans le champ “Depends” du module ext4 affiché par modinfo ext4. Cela empêche le générateur d’initramfs de détecter cette dépendance et d’inclure le module crc32c dans l’initramfs chargé de monter le système de fichiers racine.

Si c’est lié à l’installation d’un nouveau noyau, sélectionner un noyau précédent via le sous-menu “options avancées” de GRUB comme le suggère @grandtoubab devrait permettre de démarrer le système et corriger ou contourner le problème. Sinon, il faudra monter le système de fichiers racine et faire un chroot depuis un autre système, par exemple l’installateur Debian en mode rescue.

Pour corriger,

  1. Vérifier dans le fichier /etc/initramfs-tools/initramfs.conf si l’option MODULES est à “dep” (n’inclure que les modules strictement nécessaires au démarrage sur cette machine) ou “most” (inclure tous les modules permettant de démarrer sur la plupart des machines). Si “dep”, remplacer par “most”.

  2. Sinon, ajouter le module “crc32c” dans le fichier /etc/initramfs-tools/modules.

  3. Reconstruire l’initramfs du noyau impacté avec

    update-initramfs -u -k <version>

où <version> représente la version du noyau impacté, par exemple 4.9.0-7-amd64.

Bonjour,

Merci pour vos réponses ! :slight_smile:

Comme suggéré, j’ai selectionné une autre version de noyau (4.9.0-4-amd64) dans grub et j’ai pu booter dans mon système.

J’ai ensuite :

echo “crc32c” >> /etc/initramfs-tools/modules
update-initramfs -u -k 4.9.0-6-amd64

Rebooté et ça a résolu le problème :smile:

Je me questionne quand même sur la manière dont le problème est survenu. Est-il possible que ce soit lié à la mise à jour de mes sources.list ?

# stretch (stable)

deb http://deb.debian.org/debian stretch main contrib non-free
deb-src http://deb.debian.org/debian stretch main contrib non-free

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-backports

deb http://ftp.debian.org/debian stretch-backports main contrib non-free

# buster (testing)

deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

deb http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free

En installant un autre système, j’ai remarqué la présence des lignes suivantes :

deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

Ces lignes étaient absentes de mon fichier source donc je les ai ajoutées. J’ai ensuite lancé mon apt-get update && apt-get upgrade quotidien.

Il me semble que c’est lors de cette opération qu’une nouvelle version du kernel a été installée.

Le fichier source présenté plus haut est-il correct ? (les sections “backports” et “testing” sont présentes car j’ai besoin de versions spécifiques à jour de quelques rares paquets)

Encore merci pour votre aide !

il y’a les dépôts stretch et les dépôts testing dans ton sources.list. Si tu as fait apt update et apt upgrade sans fichier preferences alors tu n’es plus en stretch mais en testing.

J’aurais du le préciser, je fais de l’apt pinning, tout est - en théorie - stretch sauf que je spécifie explicitement en backports ou testing

cat /etc/apt/preferences.d/default-stable
Package: *
Pin: release a=stable
Pin-Priority: 700

Ce qui semble être confirmé par lsb_release -a :

Distributor ID: Debian
Description: Debian GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch

le noyau de Stretch le plus récent est le 4.9.0.7

apt list linux-image-4.9*amd64
En train de lister... Fait
linux-image-4.9-amd64/oldstable 4.9+80+deb9u5~deb8u1 amd64
linux-image-4.9-rt-amd64/oldstable 4.9+80+deb9u5~deb8u1 amd64
linux-image-4.9.0-0.bpo.7-amd64/oldstable 4.9.110-1~deb8u1 amd64
linux-image-4.9.0-0.bpo.7-rt-amd64/oldstable 4.9.110-1~deb8u1 amd64
linux-image-4.9.0-3-amd64/stable 4.9.30-2+deb9u5 amd64
linux-image-4.9.0-3-rt-amd64/stable 4.9.30-2+deb9u5 amd64
linux-image-4.9.0-4-amd64/stable 4.9.65-3+deb9u1 amd64
linux-image-4.9.0-4-rt-amd64/stable 4.9.65-3+deb9u1 amd64
linux-image-4.9.0-5-amd64/stable 4.9.65-3+deb9u2 amd64
linux-image-4.9.0-5-rt-amd64/stable 4.9.65-3+deb9u2 amd64
linux-image-4.9.0-6-amd64/stable 4.9.88-1+deb9u1 amd64
linux-image-4.9.0-6-rt-amd64/stable 4.9.88-1+deb9u1 amd64
linux-image-4.9.0-7-amd64/stable,now 4.9.110-1 amd64  [installé]
linux-image-4.9.0-7-rt-amd64/stable 4.9.110-1 amd64

https://security-tracker.debian.org/tracker/source-package/linux

Pour tout mettre à jour

apt update

apt full-upgrade

https://manpages.debian.org/stretch/apt/apt.8.fr.html

Tant mieux si je suis tombé juste mais j’avoue que je ne comprends pas bien non plus. Je vais faire quelques tests quand j’aurai le temps.