Either method will work, but there are some caveats and differences:
- Some EFIs "helpfully" remove inaccessible boot loaders from their NVRAM lists of boot loaders. If yours is one of those, and if you put a boot loader that's to be launched directly from the firmware on your removable disk, its entry will disappear if you ever boot the computer with the external disk unplugged. This is obviously undesirable, but it may not be important if you only launch boot loaders stored on that disk from another boot program stored on the first disk (like GRUB or rEFInd).
- If you want to move the external disk between computers and boot it on multiple computers, you'll want to have an ESP on the external disk. In this case, I'd recommend storing your boot loader, or at least a copy of it, as
EFI/BOOT/bootx64.efi
on the external ESP. This way, the target computer will probably pick it up and give you the option of booting it from its built-in boot manager. (This trick can also be helpful in overcoming the problem identified in the previous bullet point.)
- If you move the drive around and manage to boot it on a secondary computer even without an ESP (as can be done with rEFInd, for example), an
/etc/fstab
entry pointing to the ESP on the primary computer will probably not work. This will most likely be a harmless failure, but you may see complaints about the missing partition. The worst-case scenario might be if it does work (say, because you refer to the ESP by device filename, like /dev/sda1
) and if you run a software update that tries to update GRUB; that could cause severe problems on the secondary computer.
Overall, I'd say you should consider how you intend to use the disk (always plugged into one computer, plugged in sometimes but never used on another machine, or as a roaming OS installation used on multiple machines) and what sort of boot loader configuration you want (a single GRUB or the like that boots everything, a boot manager that boots a separate boot loader for each OS or distribution, using the machine's built-in boot manager to launch a boot loader for each OS, etc.). Once you've decided on these factors, the advantages and disadvantages of using a separate ESP on the external disk will become clearer. In many cases the differences will be small to nonexistent.
Thanks. Note
systemd
will fail the entire boot process if one filesystem fails to mount - it kicks you into a "emergency.target" shell. – sourcejedi – 2018-11-22T11:50:22.970