Echec de l'installation de GRUB

Bonjour tout le monde,

J’ai reçu mon nouveau PC et j’ai commencé par désactivé le Secure Boot dans le BIOS avant de lancer l’installation. Une fois cela fait, lors du partionnement du Disque Dur j’ai attribué une partition de 500Mo au système EFI donc jusque là rien d’anormal.

Le problème arrive à la toute fin de l’installation de Debian par le NetInstall, j’ai systématiquement une erreur lors de l’installation de grub dummy. A savoir que ce message dit ceci :

Impossible d’installer Grub dans dummy "l’exécution de "grub-install dummy " a échoué. Cette erreur est fatale.

Je n’arrive pas à comprendre d’ou vient le problème car lorsque j’installe ArchLinux, l’installation du GRUB se passe sans encombre.

Quelle image d’installation ?
Installateur Debian amorcé en mode EFI (c’est écrit sur l’écran d’accueil) ?
Partition de type “système EFI” formatée en FAT et montée sur /boot/efi ?

Pour avoir plus de détails sur l’erreur, tu peux aller dans la console virtuelle 4 pour voir les derniers messages de l’installateur, ou dans la console 2 ou 3 pour examiner le contenu des logs dans /var/log/*.

L’image d’installation, c’est la Debian Stretch NetInstall. Dans le BIOS, je choisi bien la clé USB en UEFI et j’ai également bien l’écran d’acceuil de Debien en UEFI. Partition en FAT sur /boot/efi c’est exact.

Sur le cd Live de Debian, lorsque je lance la commande :

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck

J’ai ceci comme foutu message d’erreur :

Could not prepare Boot variable: No space left on device
grub-install: erreur: efibootmgr failed to register the boot entry: Erreur d’entrée/sortie

J’ai démonté /boot/efi, j’ai reformaté la partition EFI via “mkfs.vfat -F32 /dev/sdb2”, remonté et j’ai toujours cette erreur :confused: .

Mais chose étrange, si je fais un ls dans /boot/efi/EFI, j’ai bien Debian/grubx64.efi et lorsque je reboote, j’ai bien grub …

La partition en elle-même à une taille de 500Mo

C’est possible de se passer de Grub comme Bootloader et de créer une entrée dans le BIOS directement par efibootmgr ?

EDIT : Même en passant pour l’installateur du Debian Live, j’ai cette putin d’erreur. Je n’arrive pas à comprendre d’ou elle vient …

Apparemment c’est une erreur d’efibootmgr lorsqu’il essaie d’enregistrer une entrée d’amorçage pour GRUB dans les variables EFI. Rien à voir avec la partition système EFI a priori. Cela n’empêche pas l’installation de grubx64.efi car cela se passe après.

Je n’ai jamais rencontré cette erreur “no space left” mais ça me rappelle vaguement quelque chose que j’ai dû lire. C’est lié au firmware UEFI. Essaie une recherche sur le web.
Qu’affiche efibootmgr -v ?

Si le GRUB de Debian se lance, c’est que l’entrée d’amorçage a bien été enregistrée dans les variables EFI. Ou alors une copie de GRUB a été installée dans le “chemin de support amovible” /boot/efi/EFI/boot/bootx64.efi, qui est l’emplacement du chargeur par défaut et ne demande pas d’entrée d’amorçage EFI.

D’ailleurs, j’installe systématiquement une copie de GRUB dans cet emplacement pour me prémunir contre la gestion pour le moins aléatoire des entrées d’amorçage par les firmwares UEFI.
Manuellement, cela se fait avec l’option --removable ou --force-extra-removable de grub-install. Lors de l’installation, l’installateur propose de le faire, et il faut accepter.

Oui car depuis quelques versions les noyaux Debian sont amorçables directement par un firmware EFI. Mais il y a deux écueils :

  • il faut passer tous les paramètres dans l’entrée d’amorçage EFI, et je ne sais pas comment on fait pour spécifier l’initramfs.

  • si l’erreur est liée à efibootmgr, elle risque de se produire aussi.

D’autre part, se passer de GRUB fait perdre la souplesse du menu de GRUB : gestion de plusieurs noyaux, mode dépannage, édition des paramètres…

Edit
J’oubliais : le noyau et l’initramfs devront être mis sur une partition FAT pour être lisibles par le firmware UEFI.

Est-ce que cela peut venir du fait que j’ai le CSM qui est activé dans le BIOS ?
N’utilisant pas le mode BIOS, il se trouve que je n’en ai pas réellement besoin ?

Je ne vois pas pourquoi cela viendrait du CSM. Mais tu peux le désactiver pour voir.

Je farfouille par-ci par-là sur Internet et que je vois que “No space left on device” peut arriver si l’on a énormément de fichier dump* .

Lorsque je fais un efivar -l, j’ai énormément de ce type de fichier. Or le tuto Archlinux nous dis qu’ils se trouvent dans /sys/firmware/efi/efivars et bien évidemment, je n’ai rien dans ce dossier. Etant sur un disque live, j’ai bien évidemment monté la partition sys…

EDIT : Il fallait que je monte la partition dans le chroot également. Et du coup c’est du tout bon, les dump ont été supprimé et j’ai pu re-installer grub sans problème.