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.