Après une journée de recherche, je peux maintenant répondre à ma propre question: oui c'est possible, et vous pouvez même utiliser cette partition comme / boot et stocker vos noyaux / initramfs / etc. Là.
Exigences:
- Grub> = 2,00 (1,98 et 1,99 ne fonctionnent pas)
- Grub doit être installé à partir d'un noyau Linux prenant en charge les variables EFI (
CONFIG_EFI_VARScompilé dans ou en tant que module efivars)
- Pour créer l'entrée de démarrage EFI, vous aurez besoin
efibootmgr
Installer:
Montez d'abord votre partition EFI sur / boot
mount /dev/sdX1 /boot
Si vous regardez l'entrée de montage, vous verrez qu'il s'agit simplement d'une partition FAT (32). Sous /bootvous devriez trouver un répertoire efi.
Comme l'appel de grub efibootmgr, vous devez charger evivars, s'il n'est pas compilé dans le noyau:
modprobe efivars
Vous pouvez maintenant installer grub:
# Replace x86_64 by i386 for 32 bit installations
grub2-install --target=x86_64-efi
Grub installe ses fichiers comme d'habitude /boot/grub2. Si tout fonctionnait correctement, vous devriez maintenant avoir également un dossier /boot/efi/grub2ou /boot/efi/your_distros_name. Avec, --bootloader-id=isert_name_herevous pouvez également spécifier vous-même le nom du dossier.
Grub appelle efibootmgrautomatiquement et crée une entrée de démarrage avec ce nom dans le menu de démarrage EFI (dans mon cas, cela signifie qu'il apparaît comme un périphérique de démarrage dans le menu EFI, je ne sais pas si c'est le cas sur chaque carte EFI)
La configuration supplémentaire ne diffère pas de la configuration grub2 habituelle, grub2-mkconfigajoutera les modules appropriés pour EFI à votre grub.cfg.
Fenêtres de chargement de chaîne:
Comme j'ai demandé un double démarrage avec Windows, je vais inclure la configuration grub pour le charger en chaîne:
Le chargement en chaîne d'une installation Windows sur EFI est légèrement différent de celui sur un disque MBR. À la place, vous n'aurez pas besoin des modules ntfsou et vous en aurez besoin.part_mbrfatpart_gpt
De plus, la définition de root n'est pas requise, ces informations sont stockées par le propre gestionnaire de démarrage de Windows. Spécifiez plutôt la searchcommande. Les paramètres nécessaires peuvent être déterminés par
grub-probe --target=hints_string /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
Cela vous donnera les paramètres de recherche spécifiant l'emplacement de la partition EFI, cela devrait ressembler à:
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
Au lieu d'indiquer chainloaderle nombre de secteurs à lire, vous devrez définir le chemin d'accès au chargeur EFI de Windows dans la partition EFI. Il en va de même pour toutes les installations Windows EFI. L'entrée résultante devrait ressembler à ceci:
menuentry "Microsoft Windows x86_64 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root <insert ouput from grub-probe here>
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
Sources: Celles - ci couvrent quelques cas supplémentaires, si vous souhaitez démarrer à partir d'EFI, elles valent la peine d'être lues:
mount /dev/sdXX /boot/efi, puis j'ai suivi cela et j'ai courubcdedit /set {bootmgr} path \EFI\fedora\shim.efide Windows au bootstrap EFI.