Bonsoir,
je re-poste, suite au problème du serveur de la Guile.
Le 10/01/2023 à 13:33, ymartin59@??? a écrit :
> Bonjour
>
> Je joue de malchance en ce moment: un système Debian testing a dû
remplir son fs root / pendant un upgrade et cela semble avoir impacté
l'installation des kernels, selon mon hypothèse la plus probable... je
ne suis plus sûr de ce qui s'est passé car c'était il y a plusieurs
semaines dans une VM que je retourne souvent en hibernation, avant de
constater la semaine passée que le boot ne fonctionne plus.
>
> J'ai deux versions de kernel 5.19.0-2 et 6.0.0-6 mais les deux
échouent au boot avec "Failed to execute /init (error -2) Kernel panic -
not syncing: No working init found". J'ai consulté
https://docs.kernel.org/admin-guide/init.html mais je n'ai pas trouvé
d'explication spécifique au code de retour "-2"
>
> Je peux booter (par UEFI) le kernel du CD netinstall en mode "rescue"
- d'ailleurs je serais curieux de savoir s'il est possible de booter
complètement le système (et pas seulement un shell sur un montage en
chroot) en utilisant le kernel du CD (je pense me souvenir que Mandriva
proposait cette option "à l'époque"...) et ainsi essayer de corriger mon
système.
>
> J'ai tenté: - un update-initramfs et update-grub - installer un autre
kernel 5.18.0-4-amd64 depuis snapshot.debian.org - booter en
init=/bin/bash avec toujours le même résultat
> Mon GRUB n'a pas de configuration particulière, c'est le générateur
de Debian depuis des années. Mes partitions sont en LVM, GRUB UEFI
accepte bien set root=(lvm/vg01-root) et je peux ensuite faire un source
/boot/grub/grub.cfg pour éditer mes entrées... si seulement je savais ce
qui cloche.
>
> D'où peut provenir le problème ? J'ai vraiment besoin d'un coup de
main pour sortir de cette ornière... D'avance merci pour vos idées
Ton système ne semble pas trop cassé, donc tu vas essayer ceci:
- boote sur un CD rescue de Debian
- passe en root
- tu dis que tu as un LVM, mais je pense que ton /boot est à part. Donc
tu vas commencer par faire un fsck de ton /boot.
Si c'est de l'ext4:
fsck.ext4 /dev/sdxx
voir, si il te dit qu'elle est clean, de forcer la vérification
fsck.ext4 -f /dev/sdxx
- puis tu vas monter le "/" de ton LVM sur /tmp/target. Je ne suis pas
un grand utilisateur de LVM, je ne l'ai utilisé qu'une fois pour une
Debian chiffrée, mais d'après mes notes cela doit ressembler à çà:
pvs
vgscan
vgdisplay /dev/lvm
lvdisplay /dev/lvm
vgchange -ay /dev/lvm
A partir de là, tu devrais voir dans /dev/lvm/* tes différentes partitions.
Fais un fsck de chacune d'entre elles (voir ci-dessus).
Pour le montage:
mkdir /tmp/target
mount /dev/lvm/vg01-root /tmp/target
Il faudra aussi monter ton /boot si il est à part. Exemple:
mount /dev/sdxx /tmp/target/boot
Pareil pour ton /boot/efi
mount /dev/sdyy /tmp/target/boot/efi
un "mount" devrait te montrer
/tmp/target
/tmp/target/boot
/tmp/target/boot/efi
- maintenant on va préparer le chroot, en montant les périphériques
spéciaux:
for I in dev proc sys; do mount -o bind /$I /tmp/target/$I
un "mount" devrait te montrer
/tmp/target
/tmp/target/boot
/tmp/target/boot/efi
/tmp/target/dev
/tmp/target/proc
/tmp/target/sys
- il ne reste plus qu'à chrooter:
chroot /tmp/target
- bien, maintenant tu es dans "ton Linux cassé". Nous allons le réparer
- lance:
dpkg -l|grep -v "^ii"
cela affiche si il y a des paquets à moitié installé. Ignore les paquets
"rc"
- lance:
dpkg --configure -a
afin de terminer l'installation des paquets qui sont à moitié installés
- ré-installe ton kernel:
apt-get reinstall linux-image-amd64
voir, un kernel spécifique. Exemple:
apt-get reinstall linux-image-6.0.0-6-amd64
- normalement la réinstallation du paquet fait le boulot, mais tu peux
forcer la recréation du initramfs:
update-initramfs -u -k all
je pense que cela doit suffire pour le kernel
- maintenant, occupons-nous de grub:
update-grub2
grub-install grub-install --target=i386-pc
--boot-directory=/tmp/target/boot /dev/sda
- je pense que ce sera suffisant. Tu peux sortir du chroot:
exit
- maintenant, il faut tout démonter:
sync
for I in dev proc sys; do umount /tmp/target/$I
sync
umount /tmp/target/boot/efi
umount /tmp/target/boot
umount /tmp/target
- puis tu termines le lvm:
sync
vgchange -an /dev/lbm
lvscan -v
- tu peux éjecter le live CD, et booter ta machine.
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!