OP asks for "without touching my existing Ubuntu install."
If this means "don't touch my existing boot" and if you use UEFI, like any modern machine, you will run into a Ubuntu install bug that rewrites your boot partition on your internal drive no matter what you tell the installer.
Here's what works for me in Ubuntu 18.04, on a new laptop.
It's a Thinkpad T480, dual boot Win 10 & Ubuntu 18.04. I have turned off legacy boot. UEFI is 100% in use.
Installing onto a second drive is a pain because the ubuntu installer clobbers the first EFI partition it sees, which is the one on the internal hard drive, regardless of any attempt you make to specify an alternative location for the EFI partition. So when you try to set the boot partition on the USB drive, you are ignored. It's a fairly old bug. https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1396379
Summary: To workaround it, disable the internal EFI partition by using gparted to edit its flags immediately before beginning your install. Then the installer won't find it, and the bug is not tripped. Later, re-enable the flags. This is a trivial step.
The steps I took:
Boot into Ubuntu live USB in the "try first" mode.
Using gparted (you may have to install it first, sometimes Ubuntu doesn't include it on the live disk, although it is included in 18.04.1): ...
- re-partition your target external drive with a GPT partition table.
Make a 500MB partition type FAT32. You may as well also set up the desired partition(s) for your Ubuntu install. You may find it handy to label the desired / partition because when you install you will have three drives: your internal drive, the live image installer drive, and your target drive.
After applying those updates, change the flags on the small 500MB partition you just created. Right click on the small partition, and Manage Flags. These changes are actioned immediately (but note, you must actually create the partition first by completing the previous step)
Tick to turn on boot, esp and hidden.
Before you start the install:
Edit the EFI partition flags on your internal drive. Untick those same three flags.
Now, when you install, the installer will see only one EFI partition, on your target device. This is the novel step which I haven't seen documented elsewhere.
Use a live-disk USB image, as per a normal ubuntu install. So you have two USB devices: your target device, and the live-disk USB drive.
Proceed until you see the disk setup tab of the installer. You want the fully manual approach of course, "Something else" on the partitioning stage.
If your target drive is mounted as sdc and the EFI partition you made is sdc1, then you will be installing the boot loader onto sdc1,
Scroll to find that partition. It should say "efi" in the Type column. Click "change" to be sure: The installer should say "Use as: EFI System Partition". You won't actually be changing anything. No need to format it.
As you scroll through the paritions, review the Type column. There should be no EFI partition on your internal drive, since you turned off the partition flags on your internal drive EFI partition. You will see the EFI partition of the live disk you booted from to do the install, that's ok.
Mount your desired target partition for / and do a normal install.
After the install, reboot to the new installation. When you are happy things are working, you can restore the flags on your internal drive's EFI partition.
Choose your bios boot menu. You should see two Ubuntu choices in the boot menu, and one of them is the external drive. The default label is 'ubuntu' so it's a bit confusing to see it more than once.
Relabelling the EFI menu is very handy, but a bit tricky.
Make sure you boot into the installation on your external drive, then
sudo efibootmgr -v
You are booted from the first row in the list.
Note the name of the file used to boot, and note the number of the partition.
my output for the first entry is:
HD(1,GPT,...) .... File(\EFI\ubuntu\shimx64.efi)
and then have a look at this thread: https://www.kubuntuforums.net/showthread.php/68851-Labels-on-UEFI-Boot-Entries-using-efibootmgr-L
I did this to relabel mine 'owcUbuntu':
efibootmgr -c -d /dev/sdb -p 1 -L owcUbuntu -l \\EFI\\ubuntu\\shimx64.efi
knowing that the boot drive is sdb and since I made the EFI partition first, the value of the -p argument is 1. Note: please check what your actual boot disk is :) use gparted or df
Some "weird" things. Done right, this process won't touch your existing boot loader on your internal drive. However, when you have the external drive attached and are booted normally from your internal drive, grub updaters will detect the ubuntu installation on the external drive and add it to the list of bootable choices. This can get a bit confusing.