@linux-aarhus has posted an awesome guide on dual booting Manjaro with Windows 10 ([HowTo] Dual-boot Manjaro - Windows 10 - Step by Step). It's really helpful and works without any issues. This guide uses 2 ESPs. One for Windows and one for Ubuntu. It also makes uninstalling process smooth. No repair Windows bootloader and all. I wanted to do the same thing with Ubuntu. Last Windows Feature Update completely ruined by dual boot for Ubuntu. However, the Ubuntu installer doesn't give you the option to specify the /boot/efi partition unlike Manjaro (or Pop OS). I was wondering if it is possible to do dual boot for Ubuntu with 2 separate ESPs.
You would probably be better off asking at ubuntu forums ..
Sure you can.
The Ubuntu installer has the option of defining your partitions manually.
The Something else ... option in the installer.
Thanks for the response. Yeah I used that something else option. Created the same 3 efi, swap and root partitions. But Ubuntu still installs all its boot files in the Windows EFI partition. The new EFI partition remains empty.
I have done this a couple of times - just ensure you are not mounting any windows partitions.
But I don't know much of the Ubuntu installer - since they are in close cooperation with Microsoft and are using Secure Boot - it could be it has some logic to look for the Windows $esp - I really have no idea how to circumvent that.
You may be able to cheat by using a terminal - open cgdisk and - temporarily - change the Windows $esp partition type UUID to e.g. Microsoft basic data type - continue your installation and change back when you have made Ubuntu use another $esp.
Thanks for the suggestion. I will check if it works.
There's a known bug in Ubuntu installer, where it always picks Windows' $esp for bootloader installation despite user's choice during partitioning step in installer.
An easy and less invasive way to circumvent it is to manually move all Ubuntu files from Windows' $esp to another one, which you like, and issue a couple of efibootmgr commands first to delete existing Ubuntu entry and second to create another one pointing to the bootloader located on your chosen $esp. After installation, I mean.
But @linux-aarhus's method is more simple and less prone to user mistake.
Thanks. Will keep this in mind if there are problems with the other one.