PREPARATION: 0.) Comment out all /boot mounts in /etc/fstab and umount /boot if mounted as a separate mountpoint. You want to use *the /boot on your / mount*. 1.) Prepare each target partition (partitions/part below) as an ESP (https://wiki.archlinux.org/index.php/EFI_system_partition#Format_the_partition). 2.) Install GRUB2 to *each ESP*. See sample.config.xml for context for the below examples. grub-install \ --boot-directory=/mnt/boot1 \ --bootloader-id=Arch \ --efi-directory=/mnt/boot1/ \ --target=x86_64-efi \ --no-nvram \ --recheck grub-install \ --boot-directory=/mnt/boot2 \ --bootloader-id="Arch" \ --efi-directory=/mnt/boot2/ \ --target=x86_64-efi \ --no-nvram \ --recheck # These are not strictly necessary, as the same path is used in efibootmgr for the primary and the fallback. # grub-install \ # --boot-directory=/mnt/boot1 \ # --bootloader-id="Arch (Fallback)" \ # --efi-directory=/mnt/boot1/ \ # --target=x86_64-efi \ # --no-nvram \ # --recheck # # grub-install \ # --boot-directory=/mnt/boot2 \ # --bootloader-id="Arch (Fallback)" \ # --efi-directory=/mnt/boot2/ \ # --target=x86_64-efi \ # --no-nvram \ # --recheck 3.) Prepare the ESPs. See sample.config.xml for context for the below examples. efibootmgr \ --create \ --disk /dev/sdd \ --part 1 \ --loader /EFI/Arch/grubx64.efi \ --label "Arch (Fallback)" efibootmgr \ --create \ --disk /dev/sdb \ --part 1 \ --loader /EFI/Arch/grubx64.efi \ --label "Arch"