@geffers, I’m quite sure grub allows to resolve your inconvenience – through some manual config file manipulations.
I’ll provide an overview, we can discuss details later if you decide to take this route.
The easiest setup will be if all the systems on your external HDD are installed in UEFI mode and each has their own copy of bootloader installed.
In short you need – on your external HDD – to remove all the boot options from the internal harddrive – and do it once, make it persistent, so you don’t need to redo it after every kernel update. To do this you:
Backup you existing
/boot/efi/EFI/fedora/grub.cfg to be safe.
Add boot entries you need to
To do it you take an entry from your existing grub.cfg, paste it in 40_custom, then change it appropriately.
For distros using grub you can use grub’s directive
configfile <path_to_their_grub.cfg_here>, for other bootloaders you should be able to chainload their bootloaders.
Update grub.cfg with
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg. Be sure to note any error messages from grub2-mkconfig on this step.
Test it and correct any errors you’re able to correct.
If you need to undo these changes and are able to boot into this fedora installation – you just undo changes from steps 2 and 3 and regenerate grub.cfg.
If you’re unable to boot into Fedora installation – the you boot to your Fedora on an internal drive, plugin external drive, and restore original grub.cfg you’ve made on step 1.
After such a setup you end up with
- Dynamic Fedora’s boot entries – new ones automatically added for new kernels – as usual.
- A bunch of static boot entries for other distros – they will not change by themselves.
If you need to add another distro – you add it manually to 40_custom in a similar fashion.
New updated kernels for other distros would go to their own bootloaders’ config files, you’ll see them after selecting corresponding entry in Fedora’s boot menu.
And in fact it’s less complicated than it sounds
You should have questions at this point, please ask them )))