I encountered this last week installing Ubuntu 22.04. I booted from USB install media and installed to a second attached USB storage device. I created an EFI system partition on the install target device, and specifically selected this EFI system partition in the GUI as the place to install the bootloader. However the bootloader was instead installed to the EFI system partition of the machine's internal SSD. I reproduced the process running ubiquity from a terminal with the debug flag. The section of the logs that appears relevant is reproduced below. The logs show it fetching the debconf value and running "grub-install /dev/sdd1", which correctly reflects the partition I selected in the UI. Based on documentation and various forum discussions I'm reading, my impression is that the device is specified as a parameter to the grub-install command (as Ubiquity seems to be doing here) for MBR installs and EFI installs work differently, requiring the target EFI system partition to be mounted on /boot/efi. Is this correct, and it possible Ubiquity is missing some unmount/remount steps here? debconf (developer): <-- METAGET grub-installer/progress/step_bootdev description debconf (developer): --> 1 Determining GRUB boot device... May 7 21:22:29 debconf (filter): --> 0 OK May 7 21:22:29 debconf (filter): <-- FGET grub-installer/bootdev seen debconf (developer): <-- FGET grub-installer/bootdev seen debconf (developer): --> 0 true May 7 21:22:29 debconf (filter): <-- GET grub-installer/bootdev debconf (developer): <-- GET grub-installer/bootdev debconf (developer): --> 1 /dev/sdd1 May 7 21:22:29 debconf (filter): <-- PROGRESS STEP 1 May 7 21:22:29 debconf (filter): widget found for grub-installer/progress/title May 7 21:22:29 debconf (filter): --> 0 OK May 7 21:22:29 debconf (filter): <-- SUBST grub-installer/progress/step_install_loader BOOTDEV /dev/sdd1 debconf (developer): <-- SUBST grub-installer/progress/step_install_loader BOOTDEV /dev/sdd1 debconf (developer): --> 0 May 7 21:22:29 debconf (filter): <-- PROGRESS INFO grub-installer/progress/step_install_loader May 7 21:22:29 debconf (filter): widget found for grub-installer/progress/title debconf (developer): <-- METAGET grub-installer/progress/step_install_loader description debconf (developer): --> 1 Running "grub-install /dev/sdd1"... May 7 21:22:29 debconf (filter): --> 0 OK May 7 21:22:29 debconf (filter): <-- INPUT low grub-installer/force-efi-extra-removable debconf (developer): <-- METAGET grub-installer/force-efi-extra-removable Type debconf (developer): --> 1 boolean debconf (developer): <-- INPUT low grub-installer/force-efi-extra-removable debconf (developer): --> 30 question skipped May 7 21:22:29 debconf (filter): <-- GO debconf (developer): <-- GO debconf (developer): --> 0 ok May 7 21:22:29 debconf (filter): <-- GET grub-installer/force-efi-extra-removable debconf (developer): <-- GET grub-installer/force-efi-extra-removable debconf (developer): --> 1 false May 7 21:22:32 debconf (filter): <-- GET grub-installer/make_active debconf (developer): <-- GET grub-installer/make_active debconf (developer): --> 1 true May 7 21:22:32 debconf (filter): <-- PROGRESS STEP 1 May 7 21:22:32 debconf (filter): widget found for grub-installer/progress/title May 7 21:22:32 debconf (filter): --> 0 OK May 7 21:22:32 debconf (filter): <-- PROGRESS INFO grub-installer/progress/step_config_loader May 7 21:22:32 debconf (filter): widget found for grub-installer/progress/title debconf (developer): <-- METAGET grub-installer/progress/step_config_loader description debconf (developer): --> 1 Running "update-grub"...