I created a subvolume called grub, mounted it as /boot/grub, used grub-mkconfig -o /boot/grub/grub.cfg to create a config file and installed it using grub-install --efi-directory=/root/efi --target=x86_64-efi --recheck /dev/nvme0n1. After rebooting, it just shows the rescue shell and I have to enter configfile (hd0,gpt3)/grub/grub.cfg to get the menu. How can I fix this?


# /dev/nvme0n1p3 LABEL=ROOT
UUID=3aeda55e-0efa-4917-a78d-f3b8eb6d6113       /               btrfs           rw,relatime,compress=lzo,ssd,space_cache,subvolid=256,subvol=/root,subvol=root  0 0

# /dev/nvme0n1p1 LABEL=UEFISHELL
UUID=3AB2-A318          /root/efi       vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro       0 2

# /dev/nvme0n1p3 LABEL=ROOT
UUID=3aeda55e-0efa-4917-a78d-f3b8eb6d6113       /boot/grub      btrfs           rw,relatime,compress=lzo,ssd,space_cache,subvolid=257,subvol=/grub,subvol=grub  0 0

# /dev/nvme0n1p3 LABEL=ROOT
UUID=3aeda55e-0efa-4917-a78d-f3b8eb6d6113       /home           btrfs           rw,relatime,compress=lzo,ssd,space_cache,subvolid=258,subvol=/home,subvol=home  0 0

# /dev/nvme0n1p3 LABEL=ROOT
UUID=3aeda55e-0efa-4917-a78d-f3b8eb6d6113       /root/btrfs     btrfs           rw,relatime,compress=lzo,ssd,space_cache,subvolid=5,subvol=/    0 0

# /dev/nvme0n1p3 LABEL=ROOT
UUID=3aeda55e-0efa-4917-a78d-f3b8eb6d6113       /var/cache/pacman/pkg   btrfs           rw,relatime,compress=lzo,ssd,space_cache,subvolid=259,subvol=/pkg,subvol=pkg    0 0
  • Are you mixing up the ESP - efi system partition which must be FAT32 for UEFI to boot? And Linux /boot partition which must be a Linux type format? The /boot folder or partition has most of grub and kernels. Usually grub not separated from rest of boot files. And those using other formats often use ext4 for /boot to avoid issues, but now grub works with many other formats. Or even have / as ext4 and all data in the other format.
    – oldfred
    Commented Feb 8, 2020 at 14:42
  • I have the ESP mounted at /root/efi a btrfs subvolume called /grub mounted at /boot/grub and a btrfs subvolume called /root mounted at / Commented Feb 8, 2020 at 14:48
  • Grub starts but it doesn't read the config file Commented Feb 8, 2020 at 14:52
  • I have Ubuntu & ESP is mounted at /boot/efi and it has /EFI/ubuntu. So full path is /boot/efi/EFI/ubuntu. And in ubuntu folder is grub.cfg which is only three lines an is a configfile to the full grub in my / partition. Check you grub.cfg in your ESP to make sure UUID is correct. example grub.cfg in ESP: askubuntu.com/questions/1205982/… UUID must be where full grub.cfg is.
    – oldfred
    Commented Feb 8, 2020 at 16:28

1 Answer 1


I fixed it by setting the boot directory with --boot-directory=/boot/

  • As of grub 2.06 this is default behavior --boot-directory=DIR install GRUB images under the directory DIR/grub2 instead of the boot/grub2 directory Commented Sep 10, 2021 at 2:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .