No boot entry after BIOS update

Hi,

I have a dual boot with Windows 11 and EndeavourOS.
After I did a BIOS update, my boot menu is now gone.
I found several threads with the same issue, but after copying their steps, the machine still boots into Windows directly.

Here’s what I did so far after booting into a Live system from an USB stick:

sudo mount /dev/nvme0n1p1 /mnt
sudo mount /dev/nvme1n1p1 /mnt/efi
sudo arch-chroot /mnt
bootctl install
reinstall-kernels

Here’s the bootctl output:

[root@EndeavourOS /]# bootctl install
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/BOOT/BOOTX64.EFI".
⚠ Mount point '/efi' which backs the random seed file is world accessible, which is a security hole! ⚠
⚠ Random seed file '/efi/loader/random-seed' is world accessible, which is a security hole! ⚠
Random seed file /efi/loader/random-seed successfully refreshed (32 bytes).

The Kernel reinstall also looked fine:

[root@EndeavourOS /]# reinstall-kernels 
Installing kernel 6.13.3-arch1-1
dracut[I]: Executing: /usr/bin/dracut --no-hostonly --force /efi/48803a46d2914ebbba086831eea6edbe/6.13.3-arch1-1/initrd-fallback 6.13.3-arch1-1
dracut[I]: *** Including module: bash ***
dracut[I]: *** Including module: systemd ***
[...]
dracut[I]: *** Hardlinking files done ***
dracut[I]: *** Generating early-microcode cpio image ***
dracut[I]: *** Constructing AuthenticAMD.bin ***
dracut[I]: *** Store current command line parameters ***
dracut[I]: *** Stripping files ***
dracut[I]: *** Stripping files done ***
dracut[I]: *** Creating image file '/efi/48803a46d2914ebbba086831eea6edbe/6.13.3-arch1-1/initrd' ***
dracut[I]: *** Creating initramfs image file '/efi/48803a46d2914ebbba086831eea6edbe/6.13.3-arch1-1/initrd' done ***

When I run efibootmgr though it only lists the windows boot manager (and the usb stick of the Live system):

[root@EndeavourOS /]# efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000
Boot0000* Windows Boot Manager  HD(1,GPT,40f64528-6bb6-449b-bbd6-b1dbc07c3096,0x800,0x400000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000069000100000010000000040000007fff0400
Boot0001* UEFI: SanDiskUltra Fit1.00    PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0xc,0x0)/Pci(0x0,0x0)/USB(0,0)/USB(0,0)/CDROM(1,0x501b60,0x4fa98)0000424f

Any idea why there’s no systemd boot menu entry after the bootctl install?
What do I have to do to get the menu back?
Any hints would be greatly appreciated.

Are you running systemd-boot? This is the default on installs on EOS unless you specifically pick grub. If it is indeed systemd-boot you have to reinstall kernels after installing bootctl.

sudo reinstall-kernels

Edit: Is that what you did?

https://discovery.endeavouros.com/installation/systemd-boot/2022/12/

Thanks for your reply.
Yes, I am running systemd-boot and not grub.
And, yes, I did run reinstall-kernels in the end.

I will block you and will go see a therapist hopping to get very strong prescriptions to forget I ever saw this thread !

I have no idea if this might help you or make it worse:

good luck :grimacing:

1 Like

Hmm… i just don’t understand why so many issues with users on systemd-boot and updates. I use grub and matter of fact we just had a new grub package in the updates which i have run the grub install command and the grub update command to have it install grub and use the latest configuration. The only thing i have to do after is set the boot priority and maybe with systemd-boot it’s the same? I don’t know? I do have one computer with systemd-boot but i haven’t run into this issue when updating. :thinking:

you talking about bios update ?

in my “case” it was a crappy windows update, unrelated to bios…

and on my computer, with grub, I made so many bios updates already (and windows too btw) and never had a problem. (but…I’m afraid to do the last one before I have an up to date back up because they’re talking about EFI in it, and it’s to soon for me, PTSD I guess…)

@marcelicious may I ask what computer it is ?

No i’m talking about updates and installing a new grub package when you get it in updates. Grub is a package. When you get a new version of grub in the updates you actually have to install grub again in order to use the latest package and then you have to run the grub update command.
If you check pacman -Qi grub it tells you what version of the package is on your system. Then if you run grub-install --version it tells you what version of grub you are running on. Just because you get a grub package in the updates doesn’t do anything but update the package. It doesn’t update the grub version until you install it and run the grub update command.

Edit: The boot entry usually changes which requires you to set the boot priority. It also depends on how you are installing grub. I usually use sudo grub-install with no path. If you do it the Arch way you have to be careful as i did the other day testing the new version of grub because arch use /efi whereas EOS use /boot/efi.

Edit: Also when doing Bios updates you can lose the entry and it can also change. So you have to check the boot priority after if need be.

Edit: Can things go south? Sure as we all have witnessed time and time again. :rofl:

1 Like

I think that’s what I do on this machine with grub

grub
$ pacman -Qi grub
Name            : grub
Version         : 2:2.12-3
Description     : GNU GRand Unified Bootloader (2)
Architecture    : x86_64
URL             : https://www.gnu.org/software/grub/
Licenses        : GPL-3.0-or-later
Groups          : None
Provides        : grub-bios  grub-common  grub-efi-x86_64  grub-emu
Depends On      : device-mapper  gettext  sh  xz
Optional Deps   : dosfstools: For grub-mkrescue FAT FS and EFI support [installed]
                  efibootmgr: For grub-install EFI support [installed]
                  freetype2: For grub-mkfont usage [installed]
                  fuse3: For grub-mount usage [installed]
                  libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue
                  lzop: For grub-mkrescue LZO support [installed]
                  mtools: For grub-mkrescue FAT FS support [installed]
                  os-prober: To detect other OSes when generating grub.cfg in BIOS systems
                  [installed]
Required By     : grub-btrfs  grub-tools  grub2-theme-endeavouros  woeusb-ng
Optional For    : None
Conflicts With  : grub-bios  grub-common  grub-efi-x86_64  grub-emu  grub-legacy
Replaces        : grub-common  grub-bios  grub-emu  grub-efi-x86_64
Installed Size  : 33,74 MiB
Packager        : Tobias Powalowski <tpowa@archlinux.org>
Build Date      : mar. 10 sept. 2024 20:23:08
Install Date    : mer. 16 oct. 2024 12:04:25
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : Signature

$ grub-install --version
grub-install (GRUB) 2:2.12-3

And so far the bios update I ran never messed with the boot entries.
And regarding the other machine where the problem occurred, there was absolutely nothing to be found in bios, except zindoz :frowning:

Yes this is the current package version on your system. The updated version is newer or different and you have to install it and run the grub update command. Not always do you have to set the boot priority. Only happens when things aren’t done properly usually. But Bios updates is a different animal. It also depends on the users system because they can get it so that the nvram is full and that cause it to wipe out the entry sometimes or not be able to write to it.

1 Like

@marcelicious

so, what worked form me was to get rid of all /efi content (copy it somewhere safe first, don’t do like me), boot live iso, chroot, bootctl install reinstall-kernels, then reboot, make sure everything is fine in bios, restore your systemd-boot config file (or re-tweak it), and after linux is fine, try and take care of windows (maybe try to retore /efi/microsoft… idk…)

This is a desktop PC with a MSI B650 GAMING PLUS WIFI board and an AMD CPU.

So, did you completely delete everyhting in /efi and then ran bootctl install and reinstall-kernels again or how did you get the linux boot menu entry in the efibootmgr back?

Nothing wrong with trying to boot on the live ISO & arch-chroot.Then install bootctl and reinstall kernels.

Did you use efibootmanager commands to remove the entries?

Edit: I do want to say it’s very easy to get confused when talking about 3 different things i a topic. Bios updates versus grub updates verses systemd-boot. :wink:

yes, that is exactly how I manage to get linux boot menu entry back. Couldn’t succeed another way.

All My systems are running Systemd-Boot I keep my bios updated and I never have had any of these issues. I will say however I don’t dual boot. The only issue I have after updating the bios is forgetting to reset secure boot.

1 Like

:scream:

Secure boot? Oh no …that’s just not right. :rofl:

2 Likes

the only system I have to deal with that run systemd-boot doesn’t have any bios update anymore, newer version is from 2017 :sweat_smile: so I couldn’t say…

@marcelicious
Hope you’re not getting overwhelmed here. :grin:

1 Like

I rebooted in between
i mean I chrooted, delete /efi content, rebooted, saw amazing empty bios entries on the main drive, nothing to see at all, re-rebooted in liveiso, and then run bootctl install and reinstall-kernels

so, no idea if the reboot phase is mandatory, but that’s what happened

Yes, I had to turn Secure Boot off again in the BIOS after its update.

@ricklinux That is what I did so far (as described in my first port). I used live iso, mounted the respective paritions, arch-chrooted into the system and then ran bootctl install and reinstall-kernels. I did not use efibootmgr to remove any entries, I just called to see if the Linux boot entry is now listed. Which, unfortunately, it is not:

Not getting overwhelmed yet. Thanks for the concerns. :slight_smile:

I might try what linuxislife suggested and delete/move everything under /efi and then redo the steps.

@linuxislife Do you have a dual boot as well? Where there any issues with Windows afterwards?

I don’t think it will hurt removing the entries as i said before sometimes the nvram gets full and cannot write to it.