Installed Grub on External Drive – Still Needs Main Drive to Boot

I have a secondary drive just for Linux, so when I installed Kubuntu, I chose an installer option to just install GRUB on my secondary drive. As expected, when I boot my PC, it goes straight to Windows, and I have to press F12 to go to the boot menu and choose Ubuntu to see GRUB and get into Ubuntu.

Recently, I pulled my main drive, and I expected my PC to boot into Ubuntu, but I can’t boot into Ubuntu without my main drive installed. This completely defeats the purpose of putting my Linux installs on a second drive, and I want to fix this.

Ideally, I’d have GRUB on the main drive where I can choose which Linux distro to boot to, or just boot into Windows. Then I’d have GRUB on my secondary drive, and if my main drive is unplugged, it’ll show my boot options for Linux.

It’s okay if I can only have GRUB installed on my secondary drive or I have to go through two GRUB screens, but the secondary drive should work independent of the main one. How can I do that?

Also, the main drive boots fine without the secondary drive plugged in.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

The solution was to use Refind boot manager.

My setup right now has my Windows drive unchanged from a fresh Windows install, meaning it has the Windows boot manager. On the Linux drive, I have both GRUB and Refind installed with partitions for Fedora and Ubuntu.

I’ve let Fedora manage the GRUB installation. This is important because Fedora uses BTRFS, which GRUB doesn’t fully support, so Fedora needs to manage all the entries because Ubuntu won’t see the Fedora partition.

When the computer boots, it goes to the secondary drive, giving me the option to go back to the main drive and boot to Windows or boot to Ubuntu or Fedora. If I choose Ubuntu, it goes straight to Ubuntu. If I choose Fedora, it goes to the GRUB bootloader that Fedora manages. I couldn’t get the Fedora option to go straight to Fedora, probably because Refind can’t see Fedora’s BTRFS partition. Another reason to let Fedora manage GRUB.

If I pull the Linux drive, my BIOS will still have the entry for the Windows Boot Manager, and it will boot straight to it, as if I’d never installed Linux. If I pull the Windows drive, Refind will just show the Ubuntu and Fedora options, as if Windows had never existed.

This solution works perfectly, the only tricky part would be if you had two BTRFS operating systems that couldn’t see each other. I’m not sure how to solve that.

After all this, I really feel that any multi boot system should use Refind. It solved all my problems and took 10 minutes to install.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply