I am attempting to create an ultimate USB Stick that will contain 2 Linux Distros, Windows and a Plethora of ISOs.
So far I have installed Windows, Ubuntu and Fedora Silverblue to a disk (I've been testing in an VM to make things quicker). In the UEFI boot menu of the machine, I can see all of the options and boot any of them successfully.

From within either the Fedora or Ubuntu GRUB menu, I can boot Windows but they are both unable to boot one-another.

Since I eventually want to also boot ISO files, I need to be able to load other Linux installs from GRUB.
Things I Tried:
Disable Secure Boot:
This does work however I do not want to do this because I want to be able to use this on other people's machines and I may not feel happy disabling their secure boot.
Chainloading:
GRUB loads Windows via chainloader so I thought that I would be able to do the same with Linux.
If I chainloader /EFI/ubuntu/grubx64.efi (from Fedora's GRUB menu) then I get the same shim error.
If I chainloader /EFI/ubuntu/shimx64.efi (from Fedora's GRUB menu) then I get as far as Ubuntu's GRUB menu - although I still get a shim error when actually trying to boot Ubuntu.
If I understand correctly,
If I understand correctly, the shimx64.efi is what actually gets loaded by the UEFI BIOS. Does this file only contain the secure boot information for a single kernel?
Is there any way that I can get the UEFI to load the shimx64.efi again when I choose to chainload to the other GRUB menu?
TLDR; Could someone explain to me about shimx64.efi and if it is possible to dual-boot two Linux distros from the same GRUB menu while Secure Boot is enabled.
Many thanks, Will