Double boot

Bonjour,
j’ai, comme un boulet, installé debian avec le bios
sur legacy au lieu de UEFI. Du coup soit je laisse
legacy et je boote sur grub et donc je n’ai que l’option
debian, soit je remets UEFI et je boote sur windows.
Y aurait-il une solution pour réparer tout ça pour
que GRUB propose windows ?
Merci !

1 J'aime

Un GRUB installé pour démarrer en mode BIOS/legacy (à ne pas confondre avec grub-legacy qui est l’ancienne version obsolète de GRUB) ne peut pas amorcer un Windows installé pour démarrer en mode UEFI. Donc même en ajoutant Windows manuellement au menu de GRUB, ça ne marcherait pas.

Il faut installer GRUB pour l’amorçage UEFI. Je suppose qu’il s’agit d’un UEFI 64 bits, les versions 32 bits sont très rares.

Créer un répertoire /boot/efi et ajouter une ligne dans /etc/fstab pour monter la partition système EFI dessus. Monter la partition.
Vérifier dans /boot/efi/EFI/Boot s’il y a un fichier bootx64.efi (UEFI 64 bits) ou bootia32.efi (UEFI 32 bits).
Pour l’UEFI 64 bits, installer le paquet grub-efi-amd64.
Pour l’UEFI 32 bits, installer le paquet grub-efi-ia32.
Une erreur va se produire à la fin de l’installation. C’est normal. Le système n’a pas démarré en mode EFI, donc la mémoire non volatile dans laquelle GRUB cherche à s’enregistrer pour démarrer n’est pas accessible.
Ensuite, deux voies possibles :

  • redémarrer avec l’installateur Debian en mode rescue (ou à défaut un système live) en mode UEFI, chrooter le système installé et exécuter grub-install. Vérifie le bon résultat avec efibootmgr.

  • ou exécuter la commande bcdedit mentionnée dans l’autre sujet (qui ne fonctionnera pas tant que les étapes précédentes n’auront pas été réalisées) depuis Windows.

Edit : J’oubliais le principal : après avoir démarré Debian en mode EFI, exécuter update-grub pour ajouter Windows au menu de GRUB.

Merci pour ces infos.
Je n’ai pas eu d’erreur après l’install de grub-efi-amd64
Je n’ai jamais vraiment compris comment chrooter donc j’ai opté pour la deuxième voie.
L’opération a réussi. Mais en UEFI c’est toujours windows qui démarre je suis perplexe.

En effet le comportement du script de configuration du paquet grub-efi-amd64 a dû changer, apparemment il n’exécute pas grub-install si certaines conditions ne sont pas remplies. Il faut donc le faire manuellement :

grub-install --target=x86_64-efi

C’est pourquoi j’ai recommandé de passer par l’installateur Debian en mode rescue qui automatise le processus.

Normal si grub-install n’a pas été exécuté.
Mais alors pourquoi dis-tu que l’opération a réussi ?

Bonsoir.
Merci pour m’avoir une fois de plus tiré de la panade.
L’opération qui avait réussi c’est le message que j’ai
eu sous windows après la commande de l’autre fil.
Effectivement après le grub-install à la main
tout fonctionne j’ai juste du désactiver secureboot.
Merci encore et bonne soirée !
Ponky

Tu devrais pouvoir réactiver le secure boot après avoir remplacé grubx64.efi par shimx64.efi dans la commande bcdedit.

Merci je vais essayer.

Sinon autoremove me propose d’enlever brub-pc-bin… Il me semble qu’il ne faut pas qu’il parte celui-là si ?

Le paquet grub-pc-bin contient les fichiers permettant d’installer GRUB pour l’amorçage en BIOS/legacy. Il avait été installé automatiquement par dépendance de grub-pc qui a été désinstallé par l’installation de grub-efi-amd64, c’est pourquoi apt signale qu’il n’est plus nécessaire. Il n’est pas utile pour l’amorçage en UEFI, ni même pour l’amorçage BIOS/legacy tant qu’on n’a pas besoin de réinstaller GRUB pour l’amorçage BIOS.

Encore merci !