Adding Ubuntu on Another Partition of the Same Boot Disk to SystemD Boot's Menu: Any Way to Do It Without Using the EDK2 UEFI Shell?

I think this is the right forum, even though it’s certainly not an issue everyone will run into with their installation.

tl;dr: This was much harder to figure out than it seemed like it should have been, so I’m curious if I’m making it too hard.

I followed a guide to get Windows and Endeavour installed side by side, and it worked great. They both live happily on the same NVME SSD. Tonight, I installed Ubuntu in its own partition on the same SSD. It also created a separate EFI partition and installed GRUB, which, okay, that’s fine. I can at least get to it from the UEFI BIOS boot menu.

I’m currently struggling to figure out the best way to put an entry for the Ubuntu install into SystemD’s boot menu. I’ve been working with the tutorial here, and going in circles:

This works, but I’m not sure it’s the way I’m suppose to be doing it:

  1. Install the edk2 UEFI shell and set up a boot entry for that. I had to set up the boot entry manually, using the instructions for that. My system didn’t auto-detect the UEFI shell once I installed it, so I ha to manually write the conf file for it. See:
  2. Create a boot config file for Ubuntu, using the instructions for booting to another disk. SystemD apparently can’t switch between partitions on the same disk automatically, and needs to treat them as separate disks. This was my biggest hangup, but once I figured it out, I managed to get everything working. See:

So, I’ve got a SystemD Boot conf file that boots into the UEFI shell and from there automatically boots into Ubuntu’s UEFI boot partition, which lets me into the OS’ included GRUB menu. Is this actually what the wiki is telling me to do, or am I missing something easier? I feel like it should be a bit simpler, but on the other hand, it makes sense that SystemD Boot treats partitions as separate disks.

One other thing–with these options set, I can’t actually interact with Grub:

= esp/loader/entries/ubuntu.conf =
title  Ubuntu
efi     /shellx64.efi
options -nointerrupt -noconsolein -noconsoleout ubuntu-start.nsh

I’m assuming, since Grub is a UEFI program, that it’s obeying that “noconsolein” command flag.

Which of those flags do I actually need if I want to end up in an interactive Grub session?