Linux then Windows install for dual-boot: Windows removing Linux from UEFI?

Hi to the community!

I’ve been happily running Linux as my main desktop for several years now, having benefited from dual-boot with Win10/Win11.

Installing various Linux distros usually went smoothly - nb: distro hopping tried and approved :slight_smile: - and I’ve settled last year (for the moment…), on the first computer, for Win11/Debian 12 dual boot, and on the second computer, Win11/RHEL-ative 10.

Everything worked fine until a Windows update broke one of the Windows, and no recovery option worked. The second Win11 also had a problem so I’ve been 100% Linux for almost a year.

As dual boot provides some benefits, I thought to give Win11 a go again, and reinstall a new Windows: I prepared a Win11 USB stick with the official ISO downloaded from the Microsoft website.

The installation went well, but in both cases, when the computer rebooted to finish the Windows install, I noticed that the GRUB menu was gone. This happened for Debian (now 13) and for RHEL-ative 10.

The BIOS/UEFI menu from the computers didn’t show the entry for the Linux distros anymore - meaning, it was removed from the firmware.

I used a Live Linux USB stick to look at things : the EFI / GRUB files were all there in the Linux FS but, with efibootmgr, it could be confirmed that the Linux EFI entry was missing from the firmware.

I then re-added the Linux entry to bring back the GRUB menu, I could then see the menu after reboot and booted again in Linux.

Except that if I chose Windows from the GRUB menu, I can boot in Windows but after restarting, the Linux entrey is gone, once again.

I repeated the test and it looks that booting Windows 11 removes now the Linux boot entry, at BIOS.UEFI firmware menu level.

Having discussed that with AI assistants, they seem to confirm this is a know behavior but it seems there is no stable solution. I also viewed the dual-boot posts on the forum but this topic is not mentioned.

Wondering if that is something the community knows of, and if there are ways to ensure stable dual-boot with Linux and Windows 11 now?

many thanks!

Alex

3 Likes

Welcome to our Linux community @Greyfox

This sounds more like a UEFI boot entry issue than GRUB itself being deleted, especially since the EFI files are still there but the firmware entry disappears.

Windows may be changing the boot order, or the firmware may be removing the Linux entry after Windows boots.

The useful check would be:

efibootmgr -v

Run it after re-adding the Linux entry, then boot Windows once, restart into Linux from a live USB if needed, and run it again. If the Linux entry is gone, then the firmware entry is actually being removed. If it is still there but lower in the order, then Windows is probably just moving itself first.

For a stable setup, rEFInd may be worth looking at because it can reduce how much you depend on the firmware boot order staying exactly as expected.

rEFInd scans the ESP at boot and finds both Linux and Windows automatically. Even if Windows clobbers the NVRAM entries, rEFInd usually survives by setting itself as the default loader.

2 Likes

I don’t have a computer with UEFI, and no experience with it.

However, if you repair the GRUB boot entry, then password protect the UEFI/BIOS settings, wouldn’t that prevent Windows from modifying the GRUB boot entries?

Also, after repairing the GRUB menu entries, have you rebooted more than once, to Linux only, to ensure that all is truly well, before trying the Win11 boot again?

From Linux, can you “cd” into the UEFI partition and set privileges to protect the directories and files? (I don’t know if that is advisable or even dangerous, but I am pretty sure you should be able to access that and potentially set those to write only.)

P.S. I just checked. Make sure the /boot and EFI partitions are ext4 and not FAT32.

The following guidance addresses that particular issue:

2 Likes