GRUB menu not showing after BIOS update

Almost. A verification of proper UUIDs in fstab would add more confidence :wink:

But I think you can do that.
When you apply system configuration which includes drives/partitions, always verify the current names with lsblk -f, before running any commands, because the names may change after each boot or remount .

Before explaining what needs to be explained, let’s make the system normally bootable.

  1. Boot to your garuda system on external, using one of these methods:
  • If you are very lucky:. Start your PC and launch UEFI/BIOS Quick Boot menu (read your H/W user manual to find the required shortcut key, i.e. F2, F8, F12 etc.).
    Look for an entry of the external HDD with no special label, which is the Default boot for the drive (it should point to $ESP/boot/bootx64.efi)
  • If you are lucky: Plug Garuda installer USB to a USB post, start your PC and choose the external USB installer entry. Using installer’s grub menu “Detect EFI bootloaders”, select the one that points to your external HDD default entry (not any Garuda/GRUB option).
  • If you are not lucky: Boot to Garuda installer and use the option “Boot to UEFI Shell” (I think there is one such option. If not, do it another way). Find the (same) $ESP/boot/bootx64.efi file as in previous options on your external HDD and boot. (guessing fs1:BOOT\BOOTX64.EFI )
  1. Verify proper setup for bootloader:
  • Check lsblk -f, cat /etc/fstab and efibootmgr -v.
  • Delete/remove any “Garuda*” and “grub” entries from UEFI with efibootmgr
  • Delete/remove any “Garuda*” and “grub” folders from both $ESPs (internal/external)
  • Confirm your $ESP /boot/efi mount in your /etc/fstab points to the external drive $ESP. If it’s not, unmount internal $ESP, mount external $ESP and update fstab with the new UUID.
  1. Install grub:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=External --removable
  1. Update grub configuration
sudo grub-mkconfig -o /boot/grub/grub.cfg

(or sudo update-grub alias IIRC in Garuda systems)

  1. Confirm there is an UEFI entry labeled “External” and marked as 1st in boot order.
efibootmgr -v

If the order is not correct, fix it (man efibootmgr)

  1. Reboot to check.

Report any failure or strange behavior, posting your terminal input/output.

If things are not that easy, you may need to chroot to your installation to do the above, or alter the commands to suite mounted partitions. In such case, you have to post info as described (partitions, folder structure, etc.)

Good luck!

6 Likes