Ceci est une ancienne révision du document !
−Table des matières
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