Systemd-boot loader disappeared after bios update

Hello hope you are doing well.

I’m still new-ish to linux and I run a dual boot with windows and endeavouros. My endeavouros install was working great for the past 3 months. Today I updated the bios and it boots directly into windows without showing the boot menu. I made sure that secure boot is turned off again and fast boot is turned off. I opened the disk management tool in windows and I found that all of my linux partitions are present.

So how can I recover my bootloader? and tell me if I should post an output of a specific command that could help you. I’m using systemd boot not grub. Also please make the instructions noob friendly as I’m still learning how to deal with linux. Thanks!

I would try to reinstall systemd-boot loader. I don’t know why updating the bios should mess with your hard drive. The two area’s are unrelated. However I don’t know crap about Winblowz So no idea of how it loads anymore.

2 Likes

There has been a few reported cases recently when a BIOS update has wiped the boot entry for EnOS.

First of all, go into your BIOS settings and check if it is actually gone.

If it is still there, you could simply change the boot priority.

If it is gone, as mentioned above, you would need to reinstall your bootloader from your live usb using arch-chroot.

Depending on what filesystem, the instructions vary a little bit. You could boot up your live USB and provide the output of the following commands:

sudo parted -l

and

efibootmgr

Copy the terminal output, paste it into your reply, highlight it and press Ctrl-E to format for better readability.

For a similar case, see: EndeavourOS bootloader missing after BIOS update (dual boot)

2 Likes

The hard drive is not changed. Only the UEFI boot entries were reset to default, which includes only a default entry for WinOS.

I suggest you check your motherboard/laptop User Manual, for a function to change boot entries order, or create new entries. Look for an existing EnOS entry, or create a new one for the systemd-boot .efi file.

Boot from EnOS installer ISO/USB and run this in a terminal

efibootmgr -v

If the listed entries include an EnOS entry, make that entry first in order, using efibootmgr. Example:

sudo efibootmgr -o 3,1,4

This example will set boot order as 0003 0001 0004.
Read man efibootmgr for more info.

If there is no EnOS entry, read this for known workarounds.

1 Like

Thank you all for your replies you gave me a starting point to search!

I started by looking at my BIOS for any boot enteries and sadly only windows boot was detected so it was not an order issue.

I solved it. and here is some context on how I did it so if anyone stumbles upon the same issue:

  1. I Found this article inside the arch wiki: https://wiki.archlinux.org/title/systemd-boot, which advised to follow this guide only after being arch-chrooted into your system.

  2. So I went to this guide (https://wiki.archlinux.org/title/Chroot) to read about arch-chroot and followed the steps explained and mounted both the root (to /mnt) and efi partition (to /mnt/efi).

  3. After using arch-chroot I was inside my system finally. Simply I used bootctl install command and boom the output was that the linux partition is created successfully. I restarted and the bootloader appeared.

NOTE: After step 3 and installing the linux partition you might need to go to your BIOS and this time you will find your linux bootloader listed. Change the order and make it first then restart again and the bootloader should appear

5 Likes

You did all the right things to get back your systemd-boot in order.

Congratulations!

And also welcome to EnOS’ community @clearmeth!

:enos: :handshake:t5:

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.