Re: 10/Buster --> 11/Bulleye
Le 27/09/2022 à 12:24, Alain Vaugham a écrit :
Avant de réinstaller - juste pour le fun - j'aimerai bien mettre un peu
les mains dans le camboui pour apprendre à chrooter un disque. Je ne
l'ai jamais fait. Apparemment c'est une occasion. Si en plus ça règle
le problème alors bingo.
Je vais suivre ce tuto:
https://www.linuxtricks.fr/wiki/chrooter-un-systeme-linux
Ca a l'air bien, mais c'est pas exactement comme ca que je fais. Alors
je vais aussi te dire comment je fais. Je me suis grandement inspiré de
https://www.system-rescue.org/disk-partitioning/Repairing-a-damaged-Grub/
D'abord il faut booter sur un système live avec le meme nombre de bits :
on ne choote pas sur un systeme 64 bits avec un noyau 32 bits et vice
versa. Si le système sur lequel tu veux chrooter est 64 bits, alors il
te faut booter sur un système live qui a un noyau 64 bits. Perso, j'aime
bien SystemRescue pour faire ce genre de trucs mais une autre distrib
live fera aussi très bien l'affaire.
Mettons que le disque sur lequel tu veux chrooter soit /dev/sda avec :
- une partition EFI /dev/sda1
- une partition swap /dev/sda2
- une partition système /dev/sda3
- une partition home /dev/sda4
Pour reinstaller grub on a pas besoin ni de la swap ni de home. Je monte
donc la partition système dans un dossier dédié dans le dossier /mnt :
mkdir /mnt/racine
mount /dev/sda3 /mnt/racine
Je monte les dossiers /dev /sys et /proc sur les dossiers correspondants
du systeme a chrooter :
mount -o rbind /proc /mnt/racine/proc
mount -o rbind /dev /mnt/racine/dev
mount -o rbind /sys /mnt/racine/sys
Dans le cas d'un système avec EFI, donc avec grub-efi-amd64 a la place
de grub-pc, il faut utiliser l'option rbind et non pas bind sinon grub
plante. Pour plus de détails voir par la :
https://unix.stackexchange.com/questions/693101/reinstall-grub-grub-install-warning-efi-variables-are-not-supported-on-this-s
Ensuite le chroot proprement dit :
chroot /mnt/racine /bin/bash
La le prompt est différent, c'est donc qu'on est dans le système chrooté.
Toujours dans le cas d'un système EFI, il faut monter la partition EFI
sur /boot/efi :
mount /dev/sda1 /boot/efi
On peut aussi faire plus simplement mount -a, ce qui va monter tout ce
qui est dans le fstab, y compris la partition EFI et avec les bonnes
options. Attention par contre ca va monter d'autres trucs, a commencer
par /home et il faudra penser a les démonter avant de sortir du chroot.
On peut alors reinstaller grub :
grub-install /dev/sda
update-grub
Démonter tout ce qui a été monté dans le chroot :
umount /boot/efi
ainsi que les autres trucs éventuellement montés.
Ou plus simplement :
umount -a
J'aime bien vérifier que tout s'est bien démonté avec :
mount
Sortir du chroot avec :
exit
Démonter tout ce qui a été monté, attention a cause de l'option rbind il
faut faire dans l'ordre :
umount /mnt/racine/dev/pts
umount /mnt/racine/dev
umount /mnt/racine/proc
umount /mnt/racine/sys
umount /mnt/racine
Si t'a des problèmes pour démonter :
umount -d -f -l <point montage récalcitrant>
et faire un reboot de la machine rapidement.
Reply to: