Grub 2:2.06.r322.gd9b4638c5-1 won't boot and goes straight to the BIOS after update

Hello,

Just in case it can help others, here is what I did to solve this grub issue on encrypted btrfs disk.

First boot on live usb from the last EndeavourOS iso downloaded on the website.
Then I followed the expected procedure: The latest grub package update needs some manual intervention

But since it might not be obvious to everyone, here his a quick summary.

Get the actual partitions name:

sudo fdisk -l
sda1: EFI
sda2: Linux File System

(pay attention to adapt the partition name to your case)

Unlock encrypted partition:
sudo cryptsetup open /dev/sda2 mycryptdevice

It’s now available in /dev/mapper/mycryptdevice

Now mount all btrfs subvolumes from the unlocked partition:

sudo mount -o subvol=@ /dev/mapper/mycryptdevice /mnt
sudo mount -o subvol=@log /dev/mapper/mycryptdevice /mnt/var/log
sudo mount -o subvol=@cache /dev/mapper/mycryptdevice /mnt/var/cache
sudo mount -o subvol=@home /dev/mapper/mycryptdevice /mnt/home

Then mount the ESP from /dev/sda1: (pay attention its indeed /dev/sda1)
sudo mount /dev/sda1 /mnt/boot/efi

Now I’m able to chroot on my install:
sudo arch-chroot /mnt

Finally I was able to repair grub with:

grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=EndeavourOS-grub

Reboot, and it worked !

What I missed was that I mounted /dev/sda2 in /boot/efi instead of /dev/sda1 … small mistake that took me a few minutes to figure out.

Hope this will simplify the procedure for you if you have the same kind of setup.

Best luck to you,
Lugh.

Edit: you will end-up with a new UEFI entry EndeavourOS-grub (previous one was EndeavourOS). You may need to select the new one after reboot is your BIOS boot menu.

1 Like