Lost BIOS EndeavourOS boot entry

A series of unfortunate events(i.e. avoidable decisions) occurred today. (to skip, find ===)

I wanted to enable XMP for my motherboard to get better performance out of my RAM. However I couldn’t find the Load XMP Profile option in my BIOS settings. I then decided that I should try to update the BIOS as I never updated it since 2017 when I purchased this computer. Put the flash file on a vfat32 USB plugged it in and … the flash option said there was no device. I then made the misguided decision to disable a Legacy USB option to see if that was the issue… it in fact was not.

I then had the pleasure of discovering that none of my USB peripherals work during the boot process. I disconnected the single SSD to force it to get into the BIOS settings. It worked, but alas my peripherals remain dormant. My last option was to remove the CMOS to default the BIOS settings, reconnect the GPU, reattach the SATA cable for my SSD, and move on with my day … defeated. I did just that and was delighted to find out that after redoing the settings, my drive was no longer in the boot order settings of my BIOS. Only the ghost entries of distro-hoppings past (Ubuntu, ElementaryOS, and one labeled grub… i think it was arch?). I thought I may have shorted the SATA port and tried all 6 ports present on my motherboard to no avail. I tried the ghost entries to see if the entry somehow got renamed. It didnt… And that brings us to now…

TL;DR: I messed around with the BIOS and found out.

===

Partition Layout:

/dev/sda
 | /dev/sda1 swap
 | /dev/sda2 /home
 | /dev/sda3 (/boot or /boot/efi not sure...) [contents are the initramfs images and /grub if that helps]
 | /dev/sda4 /

I tried to chroot back into my drive and do a grub-install with an archiso usb. I received an error along the lines of cannot find /boot/efi (is /dev mounted?)

I believe the error is caused by my manual partitioning during the install process according to this EndeavourOS article.
How do I get my beloved boot entry back and ideally how do I clean up the ghost boot entries?

Could you please boot up your live usb and post the output of the following commands:

sudo parted -l

efibootmgr

?

Also, assuming /dev/sda4 is your root partition, please mount it as follows:

sudo mount /dev/sda4 /mnt

and post the output of

cat /mnt/etc/fstab

2 Likes

@Dihedric
So were you not able to update the Bios? What motherboard make and model is it? Also is the system not bootable currently?

I was not able to update the BIOS.
It is an IBuyPower PC. I cant remember where I read it but there was talk of IBuyPower modding the BIOS and the only way to update it was with Intel FTP?

MB: ASROCK B250M Pro4-IB

The system can boot to new things like a live USB but otherwise I cannot figure out how to get the boot entry on /dev/sda back.

This PC is a spare desktop I had repurposed as a work computer and I have went home for the night. I will get the output of the command for you as soon as I get back to my office tomorrow morning (EST). Sorry for the inconvenience.

1 Like

@Dihedric
I did look at the manual for this board. You have to go into advanced in the Bios. Then go into OC Tweaker and you will find the XMP settings to load.

B250M Pro4.pdf (1.5 MB)

Edit: You should have no issue updating the bios. You just have to download the file to a usb that is fat32. Boot into the UEFI Bios and use instant flash.

That option for “Load XMP Setting” does not exist under “DRAM Timing configuration” as in the manual.

I did do just that I use mkfs.vfat -F 32 on the USB. I extracted the file from the zip and put it on the USB. I clicked instant flash and it said no file found.

“Edit: grammar”

Try to format the thumb drive as fat32 not as vfat32.
vfat might not be recognized

I’m not sure what you are seeing on the screen. But when you click instant flash it should show the file or the directory the file is in on the usb drive if it was extracted and resides inside a folder. You then have to click on the folder to open it so it finds it.

Correct me if I am mistaken but isnt vfat -F 32 = FAT32?

Hmm. I had the extracted file in the root of the USB. That may be the issue. I’ll send a screen capture of the BIOS without the XMP setting mentioned earlier after I get my boot option back.

As I am already at a root shell with the archiso i dropped the sudo.
parted -l

Model: ATA WD Blue SA510 2. (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system    Name  Flags
1       1049kB  20.0GB  20.0GB  linux-swap(v1)       swap
2       20.0GB  148GB   128GB   ext4                             
3       148GB   149GB   500MB   ext4                 boot, legacy_boot, esp
4       149GB   500GB   352GB   ext4                             
5       500GB   500GB   18.4MB                       bios_grub

... Data about the archiso key.

Next Up,
efibootmgr

BootCurrent: 0009
Timeout: 2 seconds
BootOrder: 0009,0004,0000,0008
Boot0000*: GRUB  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0004*: ubuntu (cloned)  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0008*: elementary OS 6.1 Jolnir  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0009*: UEFI: KingstonDataTraveler 2.0PMAP PciRoot(0x0)/Pci(0x14,0x0)/USB(3,0)/CDROM(1,0x1ca800,01e000)0000424f

These correspond to the three ghost entries I assume + the archiso

filesystem table contents:
(ignoring begining comment as I am typing this all out manually)

UUID=cc9da8c8-0781-4b08-8deb-2041678eac31 swap   swap defaults  0 0
UUID=0470aa0a-f9eb-4ee9-83c2-1dc4453d818e /home  ext4  defaults,noatime 0 2
UUID=c879197e-a773-4612-a02c-d0f810265621 /boot  ext4  defaults,noatime 0 2
UUID=c3b06ee6-6e65-42f2-b5ba-7179830c4ed9 /      ext4  defaults,noatime 0 1
tmpfs                                     /tmp   tmpfs defaults,noatime,mode=1777 0 0
1 Like

Judging by the output, it seems that you have opted for a bit unusual approach of installing your system in Legacy/MBR mode on a GPT disk.

Was there a reason for making this choice?

What are the currently enabled boot modes in your firmware settings?

If you have legacy/csm mode enabled, will you be able to boot up the system?

I did not realize I have done a strange install. IIRC I just did manual partitioning with the EndeavourOS installer. This drive was used as a backup before and was cloned use some free version of Acronis when I still had windows on this machine. Maybe that is how this got so messed up.

Is there a way to get it back to a UEFI mode on a GPT disk without reinstalling?

(Checking boot modes now will reply shortly)

Most probably you had booted up your live usb in legacy/bios mode.

The installer detecting the GPT disk, must have asked you to create an unformatted partition flagged as bios_grub. That would be your /dev/sda5 as see in the output of parted -l.

You can read more about this approach here:
https://wiki.archlinux.org/title/GRUB#GUID_Partition_Table_(GPT)_specific_instructions

(Due to media limit split into two posts my apologies to @ricklinux )

@pebcak Here are the Boot screens.




mm i think you are right… didn’t look close enough i guess

1 Like

@ricklinux Here are those DRAM screens.


Could you try enabling CSM mode and then setting your disk as default boot device?

2 Likes

@pebcak

Enabling CSM mode worked I have been able to boot back into my machine. However I am left with a few questions. This CSM mode was disabled before, why do I need it now. If I do a grub-install will things go back to normal?