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.
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.
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).
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