Pérennisez le démarrage GRUB

Bonjour :slight_smile:

Je galère, mais je vois le bout du tunnel. J’ai un nouveau disque dur (2022) sur un vieil ordinateur (né en 2013). J’ai gravé, grâce à GPARTED Live, sur clé USB, un CD Net-Install de Debian 11. Par ce CD, l’installation (sur la totalité du disque dur) a fonctionné, jusqu’à l’installation de grub, qui a planté :

grub-install dummy a échoué.
L'erreur est fatale.
Vous devez démarrer manuellement avec le noyau /vmlinuz qui se trouve sur la partition /dev/sda2 et root=/dev/sda2 quiet passé en argument à ce noyau.

J’ai donc redémarré le cd d’installation, appuyé sur c pour avoir une console grub et tapé:

set pager=1
set root=(hd1,gpt2)
linux (hd1,gpt2)/vmlinuz-blablabla.amd64 root=/dev/sda2 quiet
initrd (hd1,gpt2)/initrd-blablabla.amd64
boot

Et, « Oh ! Miracle ! », me voilà sous Gnome de Debian 11. Trop cool :smiley:

Question :
Comment pérenniser ce démarrage ?
Pour l’instant, je dois me coltiner les lignes ci-dessus. Sinon, ça plante/ne trouve pas.

Merci de votre attention.

grub-install --force-extra-removable
update-grub

Je redoutais ce genre de réponse. Comment l’installe-t-on ?
Aucune des deux commandes n’existe. Lorsque je tape apt-cache search grub-install, il me sort tous les paquets qui ont plus ou moins à voir avec grub, ce qui ne m’aide pas. Le wiki de debian.org donnent des conseils qui ne marchent pas plus : j’ai installé le paquet grub, comme conseillé, et je n’ai toujours pas une des deux commandes citées.

Quel est le secret ?

utiliser tel quel les commandes gracieusement fourni par Pascal :wink:

Et ma réponse à Pascal, tu l’as lu ? La discussion va être longue, si on ne s’écoute pas.

Les paquets nécessaires sont forcément déjà installés puisque grub-install a été exécuté pendant l’installation. Il faut exécuter les commandes en root, avec un environnement complet donc via sudo, « su - » ou session root.

Edit : si tu as vraiment fait l’erreur d’installer le paquet « grub » (paquet virtuel fourni par grub-legacy) et forcé la désinstallation de grub-efi-amd64, il va falloir réinstaller ce dernier.

Non. Lorsqu’on installe, on est sur la distribution d’installation. Pas la distribution installée. Donc les paquets sont différents, manifestement. De plus, je vous ai épargné le récit de tous les échecs à partir de l’installation par CD qui n’installe jamais grub correctement.
Ce que je voudrais, c’est installer grub à partir de la distribution installée et démarrée.
Quant au fait d’être sur le compte administrateur, c’est ce que je fais.

Je suis en train d’installer le paquet indiqué grub-efi-amd64, qui enchaîne automatiquement avec la détection des démarrages possibles. Il trouve facilement le nouveau disque dur (avec ses noyaux) et patine sur le vieux disque dur qui mérite la poubelle. Je vous tiendrais au courant si ça finit bien.

Merci pour votre aide.

Je connais suffisamment l’installateur Debian pour savoir que grub-install est exécuté en chroot sur le système en cours d’installation. Il faut donc que les paquets correspondants soient installés sur celui-ci.

grub-efi-amd64
↳ Depends: debconf grub-common grub2-common grub-efi-amd64-bin ucf

grub2-common → /usr/sbin/grub-install

 monuser@mamachine:~/mondossier$ su
 Mot de passe : 
 root@mamachine:/home/monuser/mondossier# whereis grub-install 
 grub-install: /usr/sbin/grub-install /usr/share/man/man8/grub-install.8.gz
 root@mamachine:/home/monuser/mondossier# echo $PATH
 /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
 exit
monuser@mamachine:~/mondossier$ su -
Mot de passe : 
root@mamachine:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@mamachine:~# 

Effectivement, le dossier sbin n’était pas dans le path. C’est la différence entre su et su -. Donc tous les exécutables étaient inaccessibles. C’était ça, le secret. Une mauvaise habitude de faire « su » au lieu de faire « su - ».

L’installation de grub-efi-amd64 lancée il y a 4 heures n’est toujours pas finie. :frowning: Mais il avance puisqu’il a trouvé un réglage EFI qui lancerait Windows.
Quand les processus kworker apparaissent, Linux devient lent.
Existe-t-il un moyen de lui demander d’arrêter d’explorer ?

# apt-get install grub-efi-amd64
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  gir1.2-gnomebluetooth-1.0 gir1.2-mutter-9 grub-pc-bin libc6-i386 libdazzle-1.0-0 libdazzle-common libmutter-9-0 mokutil shim-helpers-amd64-signed shim-signed-common shim-unsigned
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés : 
  grub2-common
Les paquets suivants seront ENLEVÉS :
  grub-legacy
Les NOUVEAUX paquets suivants seront installés :
  grub-efi-amd64 grub2-common
0 mis à jour, 2 nouvellement installés, 1 à enlever et 24 non mis à jour.
Il est nécessaire de prendre 637 ko dans les archives.
Après cette opération, 766 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Réception de :1 http://deb.debian.org/debian bookworm/main amd64 grub2-common amd64 2.04-20 [597 kB]
Réception de :2 http://deb.debian.org/debian bookworm/main amd64 grub-efi-amd64 amd64 2.04-20 [39,8 kB]
637 ko réceptionnés en 1s (1 142 ko/s)     
Préconfiguration des paquets...
(Lecture de la base de données... 185601 fichiers et répertoires déjà installés.)
Suppression de grub-legacy (0.97-80) ...
Sélection du paquet grub2-common précédemment désélectionné.
(Lecture de la base de données... 185556 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../grub2-common_2.04-20_amd64.deb ...
Dépaquetage de grub2-common (2.04-20) ...
Sélection du paquet grub-efi-amd64 précédemment désélectionné.
Préparation du dépaquetage de .../grub-efi-amd64_2.04-20_amd64.deb ...
Dépaquetage de grub-efi-amd64 (2.04-20) ...
Paramétrage de grub2-common (2.04-20) ...
Installation de la nouvelle version du fichier de configuration /etc/kernel/postinst.d/zz-update-grub ...
Installation de la nouvelle version du fichier de configuration /etc/kernel/postrm.d/zz-update-grub ...
Paramétrage de grub-efi-amd64 (2.04-20) ...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.16.0-5-amd64
Found initrd image: /boot/initrd.img-5.16.0-5-amd64
Found linux image: /boot/vmlinuz-5.16.0-4-amd64
Found initrd image: /boot/initrd.img-5.16.0-4-amd64
Found Windows Boot Manager on /dev/sdb2@/efi/Microsoft/Boot/bootmgfw.efi

Il aurait fallu empêcher grub-mkconfig d’exécuter os-prober, en ajoutant

GRUB_DISABLE_OS_PROBER=true

dans /etc/default/grub avant de lancer l’installation. Maintenant c’est un peu tard. Peut-être en tuant le processus os-prober avec kill. Sinon, interrompre l’installation, modifier le fichier et fnir la configuration avec dpkg --configure -a. Mais il ne trouvera plus Windows. On ne peut pas tout avoir.