Outils pour utilisateurs

Outils du site


informatique:utiliser_debian_live_pour_reparer_un_probleme_d_initramfs_kernel_panic

Ceci est une ancienne révision du document !


Utiliser Debian Live pour réparer un problème de kernel panic

Après une panne de courant, j'ai eu cette erreur :

J'ai trouvé cette solution : https://askubuntu.com/questions/1461061/zstd-compressed-data-is-corrupt-root-filesystem-requires-a-manual-fsck

J'ai téléchargé une Debian Live et je m'apprête à tenter de corriger le problème.

Tout d'abord, mettre le clavier en azerty-be comme expliqué sur le wiki de Debian :

$ sudo dpkg-reconfigure keyboard-configuration
$ sudo service keyboard-setup restart #n'a pas suffit à passer le clavier en azerty-be
$ sudo udevadm trigger --subsystem-match=input --action=change #ça a marché

Identifier la partition à monter

$ lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0   2.5G  1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs
                                 /run/live/rootfs/filesystem.squashfs
sda      8:0    0 447.1G  0 disk 
├─sda1   8:1    0   487M  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0 446.7G  0 part 
sdb      8:16   1  14.6G  0 disk 
├─sdb1   8:17   1     3G  0 part /usr/lib/live/mount/medium
│                                /run/live/medium
└─sdb2   8:18   1   4.7M  0 part 
sr0     11:0    1  1024M  0 rom

C'est bien /dev/sda5 qui est la partition principale.

Monter la partition principale

$ sudo mount /dev/sda5 /mnt
mount: /mnt: unknown filesystem type 'crypto_LUKS'.
       dmesg(1) may have more information after failed mount system call.

Ah ben oui, c'est chiffré.

user@debian:/mnt$ sudo cryptsetup luksOpen /dev/sda5 disque
Enter passphrase for /dev/sda5: 
 
$ lsblk 
NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0                     7:0    0   2.5G  1 loop  /usr/lib/live/mount/rootfs/filesystem.squashfs
                                                   /run/live/rootfs/filesystem.squashfs
sda                       8:0    0 447.1G  0 disk  
├─sda1                    8:1    0   487M  0 part  
├─sda2                    8:2    0     1K  0 part  
└─sda5                    8:5    0 446.7G  0 part  
  └─disque              253:0    0 446.6G  0 crypt 
    ├─betula--vg-root   253:1    0 445.7G  0 lvm   
    └─betula--vg-swap_1 253:2    0   980M  0 lvm   
sdb                       8:16   1  14.6G  0 disk  
├─sdb1                    8:17   1     3G  0 part  /usr/lib/live/mount/medium
│                                                  /run/live/medium
└─sdb2                    8:18   1   4.7M  0 part  
sr0                      11:0    1  1024M  0 rom  
 
$ ls /dev/mapper/
betula--vg-root  betula--vg-swap_1  control  disque
 
$ sudo mount /dev/mapper/betula--vg-root /mnt/
 
user@debian:~$ ls /mnt/
bin  boot  dev  etc  home  initrd.img  initrd.img.old  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  vmlinuz.old

À partir de là, j'ai accès à mes données et à mon disque dur. J'ai des backups de toutes mes données importantes mais à partir de là, je peux au minimum récupérer mes configurations. Mais on va s'arranger pour tout réparer.

Chroot

$ sudo mount --bind /dev/ /mnt/dev/
$ sudo mount --bind /proc/ /mnt/proc/
$ sudo mount --bind /sys/ /mnt/sys/
 
$ sudo chroot /mnt/
root@debian:/# 

On est dedans. C'est comme si j'étais sur mon ordinateur sans qu'il ait bloqué au boot.

Update initramfs

root@debian:/# update-initramfs -u
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "en_US.UTF-8"
perl: warning: Falling back to the standard locale ("C").
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

On quitte le chroot et on démonte les partitions :

root@debian:/# exit
$ sudo umount /mnt/dev
$ sudo umount /mnt/proc
$ sudo umount /mnt/sys
$ sudo umount /mnt/

Ce n'était que des warning, je ne pensais pas que ça puisse poser un problème. Mais après avoir quitté le chroot, démonté les partitions et redémarré j'ai toujours l'erreur de départ.

Donc on recommence… Quand on arrive à nouveau dans le chroot, on set les locales :

root@debian:/# export LANG=fr_BE.utf8 
root@debian:/# export LC_ALL=fr_BE.utf8
root@debian:/# export LANGUAGE=fr_BE.utf8
root@debian:/# update-initramfs -u
informatique/utiliser_debian_live_pour_reparer_un_probleme_d_initramfs_kernel_panic.1743838100.txt.gz · Dernière modification : 2025/04/05 07:28 de simon