I'm new here so I apologize in advance if my question is not formally correct.
I have a dual boot system, on two different disks. Windows was pre-installed on the first drive (500 Gb), then I installed ubuntu 20.04 on the second 1 Tb drive following the answer in this discussion Dual Booting win 10 and Ubuntu 18.04 on two separate physical ssds (I find it very very useful and clear). Both disks are SSD. The system is full uefi. Since I wanted to completely isolate the two different operating systems I configured the second drive like this:
- 650 Mb Efi partition (sdb1)
- 20 Gb Ext4 @ / (sdb2)
- 10 Gb Swap (sdb3)
- remaining free space @ /home (sdb4)
During the ubuntu installation process I did not unplug the first drive (where Windows is) and I incredibly skipped (that's my fault, I know) the “workaround” steps to avoid the installation of ubuntu bootloader on the first drive (this situation is known as a bug as I read in the discussion linked before). So, even if I chose the “sdb1” partition (just created) in the “Device for boot loader installation” menu, probably that bug occurred or simply my choice was ignored. Now I have two questions, which represent for me two alternative ways to restore the situation:
1 – Can I move the ubuntu bootloader from the first drive, to Efi partition in the second drive? If yes, how can I do this? In this way I hope to isolate the two OS.
If not, the second question is:
2 – Since the ubuntu bootloader is now installed on the Efi partition of the first drive, can I delete the Efi partition of the second drive that I created during installation process? In fact I see that this partition is empty and unmounted, so basically unutilized.
Facing the very same problem with Ubuntu 18.04, I followed PrakashS's answer while making sure the new EFI partition was mounted at
/boot/efi
before installing grub into it.I first created a new fat32 partition with GParted on the Ubuntu disk, with the
boot
flag. (GParted automatically adds theesp
flag when checkingboot
.)The instructions below use
sdb1
for the new EFI parition to match the device name in your question.Find the UUID of sdb1:
sudo blkid | grep /dev/sdb1
Change the UUID of the /boot/efi entry in /etc/fstab with that of sdb1:
sudo nano /etc/fstab
Unmount Windows EFI from and mount Ubuntu EFI to /boot/efi:
sudo umount /boot/efi && sudo mount /boot/efi
Confirm sdb1 is mounted at /boot/efi:
lsblk | grep /boot/efi
Install grub on sdb (without part number):
sudo grub-install /dev/sdb
Generate initramfs image:
sudo update-initramfs -u -k all
Generate grub2 config file:
sudo update-grub
Reboot.
Confirm sdb1 is still mounted at /boot/efi:
lsblk | grep /boot/efi
Follow this procedure to move the boot loader:
sudo blkid
(copy it)sudo grub-install /dev/sdb
sudo update-initramfs -u -k all
sudo update-grub
Check with
lsblk
whether /dev/sdb1 be mounted in /boot/efi.