I have a windows box and then installed linux on a 2nd drive.
To boot each one, I have to go into the bios to change boot drive.
I would expected grub-install for drive2 to have detected windows on drive 1, and made it bootable, but seemingly not.
I tried installing grub on the EFI partition of drive 1 by mounting it on Linux and running grub-mkconfig -o specifying drive1's EFI and running grub-install with --efi-directory for drive1's EFI.
But none of this led to any partitions having a grub menu for linux and windows.

Can anyone give me a clue what approach I should take?


1 Answer 1


Which partitioning scheme is used on the Windows drive, GPT or MBR? If MBR, that means Windows was installed to boot in BIOS style, and so it won't be bootable by any UEFI bootloader.

Unlike Linux, Windows ties the choices of system disk partitioning scheme and boot style together: MBR+BIOS and GPT+UEFI are the only two valid combinations for Windows.

Do you have the os-prober package installed? Modern Debian-based distributions might require it to be specifically enabled in /etc/default/grub, to avoid confusion on virtualization hosts with entire partitions or disk dedicated to various VMs.

  • The windows drive has a GPT partition table. I had enabled os-prober, but apparently it wasn't installed. I installed os-prober via pacman, reran the grub commands, and now I can boot via the grub menu on drive2, so that's a win, thanks. As an exercise I tried to do the same thing on drive1, but it goes straight into windows. I'm not going to investigate that right now. Dec 31, 2023 at 10:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .