A wonderful Boot Manager --- rEFIND
Faced with the many bugs of both GRUB and GRUB-Customizer, I was unable to have a workable multi-boot menu. So I was forced to try other alternatives.
I have tried systemd-boot which is quite nice and boots up very fast. However, due to my limited experience I can only obtain a dual boot menu (EndeavourOS + WIN 11) but not a multi boot one.
So I tried some others. Luckily it let me find rEFIND which meets all my requirements.
The bootup menu for rEFIND looks something like this:
rEFIND is a relative new boot manager. It is meant for UEFI-based machines only, not for BIOS-based.
rEFIND is highly customizable and has a wide variety of themes that are easy to install. It supports x86, x86-64, and ARM64 architecture.
How to install and use rEFIND
It is easy to install in the linux environment. Since I am using EndeavourOS, I could first install the refind package with this command line:
sudo pacman -S refind
After that I still need to install it to the EFI system partition with this command:
refind-install
refind-install is the script included in the refind package that is why I have to install refind first.
To set rEFIND as a default EFI boot entry, I still need to run the BIOS setup and use the BIOS menu to set it as the first priority to boot. In some situation, the installation process may have set this up for you.
rEFInd
will find and mount your ESP,
copy rEFInd files to esp
/EFI/refind/
(and
use efibootmgr
to make rEFInd the default EFI boot application).
By default, rEFInd will scan all of your drives and add a boot entry for each EFI bootloader it finds, which should include your kernel. So you may have a bootable system.
The boot screen created by rEFInd could be quite crowded because Refind will show boot entries for any EFI-executable or kernel that it finds on any partition.
If a Linux system has multiple kernels installed, then Refind will add a boot entry for each kernel. For each entry you can see on the menu, file path of the EFI-executable or kernel that it will boot.
To make the boot screen look
nicer,
we can
hide some of the
entries for .efi
executables that
are installed in ESP.
To hide an entry, simply select it with the arrow keys on your keyboard, and then press Delete.
The next time you restart the system, you will see the changes. It could look as simple as this one:
If rEFIND uses a generic icon (a penguin) for your operating system, you can replace it with the correct one, but this will demand some study and tedious work.
You may also change the theme of the boot up menu. Refind has a large selection of community-made themes that can be installed manually. Some of the popular ones are shown below.
Customizing rEFIND
rEFIND can be customized by editing the configuration file, refind.conf, which is located in the /boot/efi/EFI/refind directory on linux systems. the refind.conf can be opened with this command (Arch linux):
sudo nano /boot/efi/EFI/refind/refind.conf
I have used this approach to edit the waiting time allowing me to choose between different operating systems when my computer boots up. The default waiting time set by rEFIND is 20 seconds which is too long. I have changed it to 5 seconds.