I am trying to create a universal (BIOS/EFI) bootable USB HDD that can provide me with portable 32-bit & 64-bit ‘Windows To Go’ environments, together with a 64-bit Ubuntu-based distro and 64-bit Debian-based distro of Linux.
Using WinToUSB (which requires MBR tables) I was able to create my 32-bit & 64-bit Windows 10 Pro Windows To Go environments (on separate partitions) which were bootable on both BIOS and EFI systems.
I then installed my 64-bit Ubuntu-based distro in BIOS mode on another partition, after which I could choose to boot into my Windows boot loader from GRUB2.
I became stuck when trying to add EFI-functionality to my Ubuntu-based installation.
To add EFI capability, I tried booting on an EFI-based machine with the Ubuntu-based distro installation media. Then, I attached my USB HDD, mounted the Linux partition and bound the various system directories, then chroot’d to install & update grub which reported successfully finding Linux and adding EFI entries.
However, upon rebooting on the USB HDD, I was only presented with the Windows boot loader for my 32-bit & 64-bit Windows To Go with no sign of GRUB2 in EFI-mode.
A vague post I found suggested I need to run:
grub-install --target x86_64-efi --efi-directory /mnt --boot-directory=/mnt/boot –removable
But there is no mention of what I need to mount to /mnt.
Since my knowledge of Linux is still a work-in-progress and limited, I am hoping you guys could help.
Is it possible to install EFI-based GRUB2 on MBR type USB HDD? If so, how would I get it done without breaking my hybrid dual Windows to Go?
Current MBR Partitions are as follows:
- 500MB FAT32 (System Boot)
- 80GB NTFS (64-bit Windows 10 Pro Windows To Go)
- 80GB NTFS (32-bit Windows 10 Pro Windows To Go)
- 30GB EXT4 (64-bit Ubuntu-based Linux distro)
- 4GB LINUX-SWAP