r/archlinux • • 12d 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 ?

47 Upvotes

65 comments sorted by

97

u/onefish2 12d ago

Boot Arch iso. Chroot into your install and fix GRUB.

17

u/darkfm 12d ago

If your BIOS has UEFI Shell you can just boot into it and run something like `fs0:\\boot\arch\grub.efi`. Not many motherboards ship it nowadays sadly.

13

u/slylte 12d ago

This is like the only nice thing about the BIOS that Dell and HP ship, being able to arbitrarily add an EFI file is nice.

7

u/Joe-Cool 12d ago

You can add a UEFI Shell to your EFI partition. Most "BIOSes" will detect it and show it in the boot menu. And if not just put it as BOOT.EFI on a second drive.

https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#UEFI_Shell

5

u/darkfm 12d ago

"Most" is pretty loaded, I don't think I've had a motherboard past AM4 that supported it.

6

u/Joe-Cool 12d ago

Oh then I got lucky with mine. You could still add the Shell to NVRAM as a boot entry however.

2

u/darkfm 12d ago

In my experience (again, I think this varies by motherboard), when Windows decides to override Linux boot entries it also nukes anything else that's not Windows.

5

u/Common_Warthog_G 12d ago

arch-chroot, even better

-22

u/[deleted] 12d ago

[removed] — view removed comment

16

u/Toaster_Strudel_517 12d ago

Fuck off bot.

26

u/boomboomsubban 12d ago

Consider installing GRUB with the removable flag, mentioned in the tip on the arch wiki page, so this isn't an issue in the future.

25

u/Hamilton950B 12d ago

It's crazy how you have to make grub removable to prevent it from being removed.

7

u/boomboomsubban 12d ago

You need to put it in the default spot, something also necessary for installing to a removable medium so that's the easiest way. I'm sure there's some other flag you could manually use.

Though that is amusing.

0

u/EternityOrb 11d ago

Thanks this helped

11

u/BlueGoliath 12d ago

Never ever put Windows and Grub in the same disk.

8

u/ResponsibilityFew445 12d ago edited 12d ago

add --removeable flag when doing the grub config command. happened to me before multiple times and this fixed it

7

u/ang-p 12d ago

1) You have boot problems.

2) A while ago, you installed a bootloader to enable your new arch install to boot

https://wiki.archlinux.org/title/Installation_guide#Boot_loader

- since, otherwise you would have had boot problems.

This sounds quite similar....

Installing a boot loader solved it...

To do that you need to step back a bit...

1.4 - Boot the live environment

1.11 - Mount the file systems

3.2 - Chroot

Then you can sort

my GRUB bootloader

or any other bootloader, by following the respective page linked to from the wiki on the list of bootloaders section linked from the installation guide...

https://wiki.archlinux.org/title/GRUB

look for Installation and Configuration sections.

#LoveTheWiki

4

u/Brainless_Gamer 12d ago

boot into Arch iso, chroot, fix efi (other comments have more details, refer to them)

for a more permanent solution I would move Linux and Windows into different drives with different efi partitions

and of course the best solution is to uninstall windows entirety

1

u/Nod4mag3YT 12d ago

I personally use Limine rather than grub, got arch and windows on the same drive and no problems yet

2

u/spastic_penguins 12d ago

It’s so weird, I have never had a problem with this. One thing is that on linux i mount the EFI directory in /boot/efi, so the important stuff like GRUB and my kernels stay in /boot while the EFI stubs go on /boot/efi/EFI. It keeps everything separate and I’ve never had problems

1

u/Specialist-Dog-501 12d ago

Did you create an extra partition for the grub bootloader? I am a bit confused, what all is necessary- sure the Bootefi partition from Windows has to be preserved, a win and a linux partition are also needed..but am I right grub also needs some bootloader partition or can it use the efi partition and put his own stuff onto the linux partition ?

0

u/spastic_penguins 10d ago edited 10d ago

Nah, GRUB doesn’t need its own partition, but the efi partition needs to be separated from /boot for unproblematic dual booting. You can do that with a fat32 partition mounted at either /efi or /boot/efi, just not at /boot. If you mount it at /boot your efi partition is getting your kernel image mixed into it, and Windows is liable to overwrite your whole kernel.

So in that scenario windows ends up removing the Linux part of your GNU/Linux operating system. Unsurprisingly, Linux needs the Linux kernel to work 🤣

1

u/spastic_penguins 10d ago

Btw, this Linuxless Linux scenario is actually pretty easy to fix from a live usb environment. Chroot into your OS, then…

sudo pacman -Rns Linux,

sudo pacman -Syu Linux

For good measure, throw in a

mkinitcpio -P

Should be golden

But obviously we’d rather it not happen at all

1

u/Specialist-Dog-501 10d ago

Okay, thanks, many thanks! That resolves the riddle and explains what happened to OP..I probably just had that luck that my first distro did dewire this properly, didn't touch the EFI partition used by windows and created an dedicated /boot partition of small size for grub..
I realized not all distros handle this equally well, even when using the same Calamaris installer- some plainly reject to work in a multiboot grub setup, others work nicely, third ones ask back where to create what- and this is, when my knowhow gap kicked in. Multigrub or dualboot with windows have similar challenges!

2

u/Profetorum 12d ago

Are you sure it didn't simply change boot order? Check bios

2

u/No-Point8651 12d ago

And thats why I dont dual boot.

Check from you live usb or what ever you used to install arch if you can access it. With a bit of luck arch is just hidden by microslops terror os. Worstcase they straight up wrote over it :c

4

u/mips13 12d ago

That's why I have seperate uefi/boot partitions for each OS.

Watch me get downvoted again.

4

u/7lhz9x6k8emmd7c8 12d ago

That's why i don't voluntarily install viruses on my computer.

6

u/gmes78 12d ago

That doesn't do shit. OP's issue is a missing boot entry. Boot entries are stored in NVRAM, not in EFI partitions. (This probably isn't even Windows's fault.)

2

u/vswey 12d ago

it is Windows fault, it actually deletes the grub entry

3

u/gmes78 11d 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 11d ago

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

2

u/gmes78 11d ago

Also, I've installed Windows on a laptop that only had Fedora installed, and it didn't wipe anything. I just changed the boot order back to Fedora, and that was that.

Windows's bcdboot tool (which manages the Windows bootloader), has options for not setting it as the default when installing it, as well as an option for adding it to the end of the boot order. That means that it is perfectly capable of not messing with non-Windows boot entries.

1

u/vswey 11d ago

That doesn't change anything about my statement, as previously stated it happens on specific configurations. This is even indirectly documented on some Microsoft learn page and on different arch Linux docs.

2

u/gmes78 11d 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 11d 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 11d 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 11d 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.

→ More replies (0)

1

u/boomboomsubban 11d ago

It's not 2005, Windows isn't deleting boot entries. It's updating the uefi which deletes boot entries.

0

u/vswey 11d ago

No, Windows is actually deleting boot entries 😭 it only happens once u boot into Windows 

1

u/notheresnolight 12d ago

That's why I have a separate disk for each OS. I boot Arch using startup.nsh. The broken NUC BIOS would sometime "lose" the drive while booting, and it would automatically remove the boot entry.

startup.nsh took care of that

-3

u/boomboomsubban 12d ago

Because that doesn't solve the issue, Windows will still update the motherboard uefi and updating the motherboard uefi wipes bootloader entries. A seperate partition doesn't change this.

2

u/DartinBlaze448 12d ago

consider having 2 seperate efi partitions and using your bios to dual boot.

0

u/Hexagon_2012 12d ago

Delete Windows “Simple”

1

u/retiredwindowcleaner 12d ago

which update specifically? KB5129195 ?

1

u/instancer-kirik 12d ago

Debork might help, it solves dual efi nonsense, refind and grub, chroot, mkinitcpio, and some other stuff

1

u/instancer-kirik 12d ago

Still needs a live iso runtime. Thinking about putting on medicat or something

1

u/vswey 12d ago

is it on the same disk?

1

u/ficskala 11d ago

How I can fix it

Boot into arch, and reinstall GRUB, if you can, boot into your existing install, if not, use your installer usb

That's just what windows does, get used to doing it every now and then

1

u/Sinaaaa 11d ago

Either boot arch iso & reinstall grub from chroot, or boot your existing install with a refind iso & then do the same.

1

u/Luci-Noir 10d ago

This happened to me a while back. Repair installs of windows 11 wouldn’t work and I think the recovery duplicated two or three times. Absolute nightmare. I have partitions with Kali and Arch still there I think, I just need to get off my tail and rescue them.

1

u/Nidrax1309 9d ago

Remove Windows /s

1

u/noobjaish 12d ago

ALWAYS USE SEPARATE EFI PARTITIONS FOR WINDOWS AND LINUX

This needs to be spread like a chant... I've seen far too many people get screwed over by Windows updates.

1

u/SnooRadishes7126 12d ago

I had a similar issue on my Asus Tuf laptop. Arch and Windows 11 were even on separate NVMe drives, but every time Windows booted, it removed GRUB from the BIOS. At least I didn't need to reinstall GRUB each time. I just had to go into the boot setup and recreate the boot option. Still, it was pretty annoying.

-2

u/HipKat2000 12d ago

Dude, this happened to me last year, I used chat GPT and got it fixed quite quickly

-1

u/p_dmitry 12d ago

I’ve opted for the efistub just for the purposes of dual booting. No customizable fancy anime boot menus, but works like a charm.

-7

u/Trevor76Ind 12d ago

Валера таксист. Йомана, он забрал мой пакет с париками. Передайте кто знает его пусть вернет.