I installed Windows 11 alongside EndeavourOS to try the experience of dual-booting. So far, it has not been good. I followed the Arch Wiki’s instructions and managed to install Windows, but GRUB doesn’t show up in the boot options anymore.
When going into advanced boot options, there is only Windows Boot Manager and an option that has the name of my SSD. That option is detected to be Legacy boot. When trying to boot from that, it says “Reboot and insert proper boot device”.
I read the Arch Wiki’s part on being unable to boot Linux, but most of those commands require Linux… (like efibootmgr)
Did Windows just corrupt GRUB? What should I do?
Sounds like Windows did more than corrupt GRUB, it deleted everything related to Linux.
The correct way to dual-boot Windows is to install Windows first, but while doing so, make sure you leave enough space for any Linux partitions you will need/want. After you’ve done all your Windows Updates, then you install Linux.
Neither Windows nor Mac wants you to dual-boot, so they don’t come with options to properly preserve any partitions from another OS.
I looked in Disk Management, and my Linux partitions are still there (swap, main drive, EFI)
I have a feeling it overwrote the EFI partition. Should I reinstall GRUB?
ok so now the main problem is that when I boot Windows, GRUB gets overwritten, and when I reinstall GRUB, Windows Boot Manager gets overwritten (does not show in efibootmgr). How do I fix that?
I disabled Fast Startup, which I think is fastboot, and Secure Boot is disabled…
The main problem is: I reinstalled GRUB, and Windows Boot Manager is not detected in efibootmgr anymore. When booting Windows, GRUB is not detected anymore. It keeps going in a loop, with me having to repeatedly reinstall GRUB…
What I want to do is disable Windows Boot Manager using efibootmgr, but there is no entry for it in efibootmgr.
yes, os-prober does detect Windows, and does add it to the GRUB boot menu. It also boots it. But when booting it, Windows does something, and I have to reinstall GRUB.
I am trying to disable WBM using efibootmgr. efibootmgr is not showing an entry for Windows Boot Manager, so I can’t disable it. What do I do?
Alternatively, you can set a startup script in Windows that ensures that the boot order is set correctly every time you boot Windows.
Open a command prompt with administrator privileges. Run bcdedit /enum firmware and find your desired boot entry.
Copy the identifier, including the brackets, e.g. {31d0d5f4-22ad-11e5-b30b-806e6f6e6963}
Create a batch file with the command bcdedit /set "{fwbootmgr}" DEFAULT "{copied-boot-identifier}"
Run taskschd.msc, then choose Create Task... from the Action menu.
On the General tab:
Enter any suitable Name and Description.
Ensure the user account selected is an "Administrator", not a "Standard User".
Select "Run whether user is logged in or not".
Select "Run with highest privileges".
On the Triggers tab, choose "At startup" from the menu, then click OK.
On the Actions tab, click New..., then Browse..., and locate the batch file from step 1.
On the Conditions tab, untick the Power options so the script runs when on battery power (for laptops).
Click OK, and enter the password of the user account selected in step 4 when prompted.