Hi, I’m having an issue with my ASUS motherboard. It is not giving me boot options for my Linux system. Some info to start.
Hardware:
ASUS ROG Strix B550-I Gaming Motherboard
Ryzen 3800X
1 TB Sabrent Rocket nvme containing GRUB installed in efi mode on partition 1, a bog standard FAT32 formated EFI partition. Partition 2 is swap, partition 3 is LVM containing 2 logical partitions, both encrypted, one mounted as /, the other as /home.
two 1 TB crucial SATA SSDs that will eventually be put into RAID0 and used as storage, but are currently only mounted by the OS for some swap.
The board is not showing me GRUB as a boot option. The exact same setup already ran without an issue on an Asrock board (which had a defective wifi adapter, thus the change of motherboard). The board is correctly detecting all three SSDs as storage devices. It also fails to boot an Ubuntu live USB that was booting just fine on the Asrock board.
I already tried to disable secure boot, which doesn’t even seem to be an option on this board. It is currently set to “other OS” (the other option being Windows 10 in EFI mode), I tried deleting all of the keys, loading default keys, enabling CSM, you name it. No matter what I do or try, the board is not giving me any boot option whatsoever. I’m really at my wit’s end here. Any help would be appreciated.
Your Linux drive is no longer “visible”. Try another SATA port - your NVMe and SATA ports may be in conflict, for instance. If all else fails, disconnect all drives and try with a USB Live image.
Couldn’t have been Windows, haven’t had a Windows system or install media since 2010 or so. This is a pure Linux installation, no dual boot. The drives are using GPT and not MBR, of course, but I assume this is just semantics. Never heard of firmware writing over drive partition information, if this is really what happened I would need to find a way to stop it from happening again…
All my drives are visible from inside the UEFI, it just won’t give me the option to boot from them. Since the Linux system is on the nvme I can’t really try a different port and any SATA conflict should not affect the nvme drive at all. I also don’t see how the live USB doesn’t work either. Like, sure, the other drives are still connected (since ripping out the MB and m.2 drives is kind of a pain), but surely it should show up in the boot order even with the drives connected…
Ok, that is really weird then. I’m not familiar with ASUS BIOS at the moment, but it sounds like something is broken. Have you tried a BIOS reflash to latest firmware?
Your motherboard supports BIOS flashback, so check the manual on how to do it, it is a pretty simple procedure.
This is most likely a UEFI record missing.
If you for example flashed the bios or reset the CMOS then the record could have been cleaned.
You need to re-run grub-install command that matches your installation (just running “grub-install” after chrooting may be enough).
But there is much simpler workaround:
grub installs its efi binary in <EFI partition>/EFI/grub/grubx64.efi
but motherboards do not check for this path by default - that is wht grub-install is necessary - to tell the mobo to look there.
To make the OS immedietly bootable copy and rename the binary from
“<EFI partition>/EFI/grub/grubx64.efi” to
“<EFI partition>/EFI/bootx64.efi”
then the menu entry should appear, (or the windows entry may boot linux depending on the situation) you will be able to fix the situation with proper grub-install, and revert the ‘bootx64.efi’ you added above
AFAIK this should work because “<EFI partition>/EFI/bootx64.efi” is the path that windows normally uses
edit: if <EFI partition>/EFI/bootx64.efi” already exists, then back it up, and restore after calling grub-install. (to restore windows boot)
so yeah, this was part of the answer (I had to do grub-install again to get the UEFI boot option), but in order to even attempt that I had to get any kind of system to boot in the first place (kind of a challenge since I couldn’t even boot from a live USB).
What ended up fixing the problem was doing a firmware update, after which booting from USB was possible and I could chroot and do grub-install again. Apparently the UEFI on the board (dated August 2020) simply wasn’t capable of booting any devices at all. I have no idea how a motherboard with an UEFI like that ever ships out in the first place, but at least I got it resolved in the end. Guess getting RGB going for the release UEFI was more important for Asus than being able to boot operating systems xD
From now on I will consider BIOS Flashback as a mandatory feature for any Mobo/CPU combo I purchase that is newer than 18 months. Thanks for letting us know what was borked in the end!