Like others in this forum, I too suffered from a reformatted EFI partition following a BIOS update on my desktop pc. I had no idea that the MSI BIOS team doesn’t care about Linux installs, so to my surprise, following the update, my system booted straight to windows. For background purposes, I’m a newbie to Arch linux (have some brief previous experience with Ubuntu/Debian) and I am not a software engineer/developer.
I have windows 11 and endeavor installed on two separate drives, so I don’t have to worry about overwriting the EFI partition for the endeavoros install drive. I attempted to follow guides for users who had similar issues to me, but when attempting to mount partitions, the EFI partition would come back with warnings that it was not formatted properly (not a FAT32 partition) and therefore was not mountable. On top of that, the efi partition had been changed from GPT to MBR. My install drive is encrypted as well, so that added some confusion on my end.
Ultimately, I completely wiped and recreated the EFI partition with gparted (fat32), changed the structure to GPT with gdisk, and then mounted that partition in the /mnt/efi location, and then proceeded to generate a new fstab with genfstab. After arch-chroot’ing into my endeavoros install, I ran bootctl install (which complained about boot loader not setting esp information) and then reinstall-kernels. I updated the loader.conf with the correct default boot ID, and set the recommended options. That got me back into my system after quite a bit of trial and error.
Unfortunately, all of my messing around removed my option to boot to windows directly in the boot menu options, which was a nice to have, as I don’t have to go back to bios, change boot drive, and then reboot just to switch back and forth. Not being fully confident, I do not want to mess things up again after the tedious fix process. Is there an easy way to add a windows boot entry that points to the EFI partition on my separate windows drive? My current efi partition for endeavoros looks like this:
BootOrder: 0001,0000,0008,0006,0007
Boot0000* Windows Boot Manager HD(1,GPT,1fb18676-f07b-417a-81a8-f2a5581dac36,0x800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000033000100000010000000040000007fff0400
Boot0001* Linux Boot Manager HD(1,GPT,898eca51-dd01-41f3-b32d-52c2eba2e766,0x800,0x200800)/\EFI\systemd\systemd-bootx64.efi
Boot0006* UEFI: PXE IPv4 Realtek PCIe 2.5GBE Family Controller PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0x8,0x0)/Pci(0x0,0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)/MAC(047c167061f2,0)/IPv4(0.0.0.0,0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)0000424f
Boot0007* UEFI: PXE IPv6 Realtek PCIe 2.5GBE Family Controller PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0x8,0x0)/Pci(0x0,0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)/MAC(047c167061f2,0)/IPv6([::],0,Static,[::],[::],64)0000424f
Boot0008* UEFI OS HD(1,GPT,898eca51-dd01-41f3-b32d-52c2eba2e766,0x800,0x200800)/\EFI\BOOT\BOOTX64.EFI0000424f
And output from bootctl list looks like:
type: Boot Loader Specification Type #1 (.conf)
title: EndeavourOS (6.8.8-arch1-1) (default) (selected)
id: 813318d425ba41e9bd3a97e66c771566-6.8.8-arch1-1.conf
source: /efi//loader/entries/813318d425ba41e9bd3a97e66c771566-6.8.8-arch1-1.conf
sort-key: endeavouros-6.8.8-arch1-1
version: 6.8.8-arch1-1
machine-id: 813318d425ba41e9bd3a97e66c771566
linux: /efi//813318d425ba41e9bd3a97e66c771566/6.8.8-arch1-1/linux
initrd: /efi//813318d425ba41e9bd3a97e66c771566/6.8.8-arch1-1/initrd
options: nvme_load=YES nowatchdog rw rootflags=subvol=/@ rd.luks.uuid=59c93bc4-122b-4ec4-9458-35334de25>
type: Boot Loader Specification Type #1 (.conf)
title: EndeavourOS (6.8.8-arch1-1-fallback)
id: 813318d425ba41e9bd3a97e66c771566-6.8.8-arch1-1-fallback.conf
source: /efi//loader/entries/813318d425ba41e9bd3a97e66c771566-6.8.8-arch1-1-fallback.conf
sort-key: endeavouros-6.8.8-arch1-1-fallback
version: 6.8.8-arch1-1-fallback
machine-id: 813318d425ba41e9bd3a97e66c771566
linux: /efi//813318d425ba41e9bd3a97e66c771566/6.8.8-arch1-1/linux
initrd: /efi//813318d425ba41e9bd3a97e66c771566/6.8.8-arch1-1/initrd-fallback
options: nvme_load=YES nowatchdog rw rootflags=subvol=/@ rd.luks.uuid=59c93bc4-122b-4ec4-9458-35334de25>
type: Automatic
title: Reboot Into Firmware Interface
id: auto-reboot-to-firmware-setup
source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Thanks to anyone who takes the time to read this and offer help! I really appreciate it!