The rEFInd UEFI Boot loader is a possible workaround for your issue.
Of course, this would involve making rEFInd the default bootloader, rather than Grub2. Grub2 would then be chainloaded by rEFInd; I have been doing exactly this for virtually as long as I’ve been multibooting.
Although I don’t use BTRFS
, there are BTRFS
UEFI drivers available which can be used https://efi.akeo.ie/.
Note that these drivers will not enhance or enable functionality for Grub2, but they will allow rEFInd to discover BTRFS
volumes, and boot.
The rEFInd documentation explains how to boot the last selected OS, as default; which, as I recall, was the default setting in any case.
rEFInd:
Adding the rEFInd Bootloader to the mix does no harm to existing bootloaders. Manjaro and Windows are chainloaded from rEFInd and boot as normal.
If you enjoy customising the boot experience (themes), and like to have additional boot options (redundancy), rEFInd is a worthwhile consideration.
rEFInd can bypass GRUB 2 and boot the kernel stub directly, which is handy in the event that GRUB 2 fails to boot - you are still able to then boot into Manjaro and fix the issue in relative comfort.
rEFInd comes with ‘sane defaults’ - everything typically works (OOTB).
Installing rEFInd on a Manjaro/Windows multiboot system should give the following boot choices by default (the naming may be different):
- Boot Microsoft EFI boot from ESP
This option boots Windows via the Microsoft bootloader.
- Boot EFI\Manjaro\grubx64.efi from ESP
This option boots Manjaro via GRUB 2.
- Boot boot\vmlinuz-6.6-x86_64 from MANJARO
This option boots Manjaro via the Kernel stub, bypassing GRUB 2.
Options display as icons; activate with keyboard/mouse:
See also: The rEFInd Boot Manager: Methods of Booting Linux.
The simplest way to see rEFInd in action is to install it;
# Install rEFInd from the official Manjaro repo
sudo pacman -S refind
# Use rEFInd's own tool to setup the ESP directory
sudo refind-install
The ESP directory layout will be similar to:
$ESP
└─ EFI
├─ boot
├─ manjaro
├─ microsoft
└─ refind