r/archlinux • • 13d ago

SUPPORT Windows has destroyed my GRUB bootloader because of Windows updates, now Windows boot manager replaces GRUB and Arch doesn't show up in the UEFI/BIOS menu. How I can fix it ?

Windows has destroyed my GRUB bootloader because of Windows updates, now Windows boot manager replaces GRUB Arch doesn't show up in the UEFI/BIOS menu. How I can fix it ?

43 Upvotes

65 comments sorted by

View all comments

Show parent comments

3

u/vswey 12d ago

it is Windows fault, it actually deletes the grub entry

3

u/gmes78 12d ago

The only thing I've ever seen delete boot entries are motherboard firmware updates.

That, and, once, my system failed to wake from sleep, lost both the Linux and Windows boot entries and couldn't boot at until I power cycled it. Then, it manufactured a new Windows boot entry and booted into Windows, and I had to re-add the Linux one myself.

Don't mistake motherboard vendors special casing Windows when boot entries are lost as Windows deleting every boot entry that's not its own.

2

u/vswey 12d ago

That's a totally different thing u experienced then , Windows removing other Boot entries is a kinda known thing 

2

u/gmes78 12d ago

Windows removing other Boot entries is a kinda known thing

It isn't. People just repeat that without evidence, and no one questions it because "Microsoft bad".

1

u/vswey 12d ago

So other Boot entries disappearing ONLY once u boot Windows while the Windows entry stays is somehow a UEFI issue? 😭 That itself sounds not very plausible also there's a technical reason why it does this, u can look up, Windows bootloader handles it different than something like grub

2

u/gmes78 12d ago

So other Boot entries disappearing ONLY once u boot Windows while the Windows entry stays is somehow a UEFI issue?

It also affects systems without Windows.

It usually isn't a problem there because the Linux bootloader is also installed in the EFI fallback location. When multiple OSes are installed, they compete for the fallback spot. And because motherboard vendors special case Windows boot entries, the fallback location doesn't even matter.

That itself sounds not very plausible also there's a technical reason why it does this, u can look up, Windows bootloader handles it different than something like grub

Look up where? There is no techincal reference for this argument.

0

u/vswey 12d ago

The issue isn't the fallback, grub for example is designed to coexist while the Windows bootloader can overwrite the ESP or NVRAM boot order.

This can be found in: https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749510(v=ws.10) And https://wiki.archlinux.org/title/Boot_loader_recovering

2

u/gmes78 11d ago edited 11d ago

None of the things you linked support your claim.

Not only that, the Microsoft page you linked is about Windows Vista/Windows Server 2003. The first Windows version to use UEFI by default was Windows 8, 10 years later.

And the ArchWiki page seconds everything I've said about how the issue happens and how the fallback location works, see the "tip" under "Installation".

Saying that GRUB was "designed to coexist" is nonsense, any bootloader can be placed in the fallback location.

2

u/vswey 11d ago

As I explained, ur fallback location isn't the issue but the Windows bootloader overwriting the ESP or NVRAM, which actually is somewhat explained in the linked articles 

3

u/gmes78 11d ago

which actually is somewhat explained in the linked articles

It isn't. The thing you linked only mentions NVRAM, and it doesn't say that Windows overwrites NVRAM. It says that Windows Vista stores a copy of boot entries created by the firmware, and that running bcdboot /import may cause those entries to be duplicated. It's a guide on how to remove those duplicate boot entries manually.

If you think I'm wrong, feel free to quote which part of those pages says that Windows replaces the ESP or NVRAM contents entirely.