Monter et chrooter le système installé dans /dev/sda1 :
mount /dev/sda1 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /sys /mnt/sys
chroot /mnt bash
Réinstaller GRUB dans le MBR du disque :
grub-install /dev/sda
Vérifier la présence de /boot/grub/grub.cfg. Sinon, le générer avec
update-grub
Pour quitter le chroot : ctrl+d ou exit
Tout démonter :
grub est dans /dev/sda1 est ce que ça ne va pas briser le système de le réinstaller dans /dev/sda?
voici le contenu de /boot qui se trouve dans /sda1 (ici /mnt):
root@debian:/home/user# ls /mnt
bin dev home initrd.img.old lib32 libx32 media opt root sbin sys tmp var vmlinuz.old
boot etc initrd.img lib lib64 lost+found mnt proc run srv timeshift usr vmlinuz
root@debian:/home/user#
Une partie de GRUB est dans /boot/grub, mais ce qu’on spécifie dans grub-install est l’emplacement de l’autre partie, un secteur d’amorce qu’on ne voit pas dans le système de fichiers.
Tant que tu y es, tu pourras regarder dans (/mnt)/var/log/apt/history.log quelle était la version précédente du paquet grub-pc. J’ai essayé de reproduire le problème mais n’y suis pas parvenu, même en partant de la version de buster (2.04).
user@debian:~$ sudo mount | grep /mnt/sys
sysfs on /mnt/sys type sysfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /mnt/sys/fs/fuse/connections type fusectl (rw,relatime)
user@debian:~$
Trop tard j’ai fait une mise a jour un paquet Nvidia a eu problème j’ai redémarré et là je suis bloqué dans le protocole avec de ok vert. J’ai accès a un tty donc je vais t’envoyer les retours de commande et ouvrir un autre fils après.
Je soupçonnais que grub-pc était peut-être configuré pour installer l’amorce du chargeur d’amorçage dans une partition au lieu du MBR, mais ce n’est pas le cas ; pour une partition on verrait « -partN » à la fin du nom du disque, ici il s’agit bien d’un disque entier. C’est bien le disque sur lequel ce système est actuellement installé ? Il s’agit d’un lien symbolique qui doit pointer vers sda.
Oui je comprends pas, sur l’autre ce doit faire plus d’un ans que je suis pas aller c’est Windows et il est pas configuré en dual boot, je dois passer par le bios pour booter dessus.
Ce que je ne comprends pas, c’est pourquoi il n’était pas listé comme (hd1) par la commande ls du shell de GRUB (et du coup je n’ai pas pensé qu’il y pouvait y avoir un autre disque, sinon la résolution aurait été simple : il suffisait de booter sur l’autre disque). Il est totalement désactivé dans le BIOS (pas seulement dans les options de boot, mais dans les paramètres SATA) ?
Par contre ça explique pourquoi la core image de GRUB n’a pas été mise à jour sur sda : le paquet grub-pc est configuré pour l’écrire sur ce disque. Il faut corriger cela avec
dpkg-reconfigure grub-pc
et sélectionner le bon disque.
J’ai une mauvaise nouvelle : si GRUB a bien été écrit dans le MBR de ce disque, écrasant le secteur de boot de Windows, alors il n’est plus possible de lancer Windows depuis le BIOS. En fait l’amorçage sur ce disque lancera GRUB. Mais dans ce cas il devrait rester possible de lancer Windows depuis GRUB.
Tu peux vérifier le contenu du MBR avec
hd -n 512 /dev/sdb
en examinant les textes lisibles. Si ça mentionne « GRUB », c’est le secteur de boot écrit par GRUB.
Bon j’ai réglé mon problème avec un --fix-broken-install. j’ai reconfigurer le grub pour qu’il soit sur sda avec la commande que tu m’as donne. il etait sur sdb dans l’option du menu. (monordiplante c’est moi)
Bien. Quand tu auras un peu de temps à perdre, pourras-tu satisfaire ma curiosité et répondre à mes questions des messages précédents ? Pas d’urgence, mais j’aime bien comprendre le pourquoi du comment (je crois que ça s’est vu).
Comme on pouvait s’y attendre, on peut voir que le MBR de sdb contient le programme d’amorce de GRUB. Ça va poser un problème pour démarrer Windows à partir du BIOS.