Terminology: ESP = my FAT32 EFI partition.
I want to:
- Have a self-contained GRUB install on my ESP that chainloads another GRUB bootloader on my distro root filesystem (
/
). I currently have several distros without GRUB installed on my partitions. Each is installed completely on their own ext4/
. I want them all to have their own secondary bootloader. - Also acceptable is for the primary ESP GRUB to restart/reload with a grub.cfg from the OS. Effectively chainloading itself.
What I've tried:
- Examples I've found include booting GRUB legacy from GRUB2 and vice versa but they don't use UEFI and .efi files. The GNU GRUB documentation doesn't even mention UEFI, and the Arch/Ubuntu/Gentoo wikis provide the bare minimal info to set up a basic (non-chainloading) install.
So far:
- I've installed GRUB onto my ESP using
grub-install
andgrub-mkconfig
.Test boot works. This means my/boot/grub
folder is empty, and my ESP doesn't need to be mounted during/after boot. - I've tried installing a second grub into
/boot/efi/
and/boot/grub/
, but the EFI part won't install,grub-install
complains the target is not an EFI partition. But since I already have a primary GRUB installed, it shouldn't matter that my secondary GRUB is on the ext4 rootfs right? Grub can read ext4. I tried the--force
option too.
So it seems I need to find some way of convincing the installer that it is OK to install grubx64.efi
under /boot/EFI
...
If anyone is curious about how I installed the primary GRUB, it was just a matter of using the right options in grub-install
with respect to my ESP.