REFInd

rEFInd is a boot manager for EFI and UEFI platforms forked from and successor to rEFIt. It provides a graphical interface for launching EFI-based operating systems and accessing EFI-based utilities, and has the functionality to scan multiple filesystems for executable EFI binaries.

Installation
Installing rEFInd builds the EFI binaries for your system but does not install them into your EFI System Partition (ESP) - additional steps are needed to finish installing rEFInd after the package has been emerged.

USE flags
rEFInd has optional support for reading several filesystems before loading the operating system. This can allow you to keep your kernels on your root partition or partition instead of on the ESP. It should be noted, however, that filesystem drivers are not needed if you intend to copy your kernels to the ESP - they are only needed if you want rEFInd to scan the relevant filesystem for EFI executables.

ESP Installation
Once the rEFInd package has been emerged, you will need to perform a second step to install the binaries to your EFI System Partition. There are two methods to installing the EFI binaries into your EFI System Partition.

EFI System Partition
Create a partition of type  (MBR) or   (GPT) with a FAT32 file system. It is also possible to use an existing EFI system partition if one is present. It is advisable to mount this partition at

It is important to note that you do not necessarily need a separate partition for unless:


 * You want rEFInd to scan for kernels from your directory instead of loading from your ESP, and
 * You use full-disk encryption such as DM-Crypt_LUKS on your root partition, or
 * Your kernels are located on a filesystem for which there is no EFI filesystem driver

Manual Installation
Assuming your ESP is mounted as per the above note, create the top-level directory for your EFI binaries in your ESP.

Copy the EFI binaries, fonts, icons, images and drivers installed by the rEFInd package into your ESP. They will go into their own directory separate from any operating system kernels or loaders.

The EFI filesystem drivers are loaded dynamically - just because they were built when rEFInd was emerged, it doesn't mean that the drivers need to be copied to the ESP. You may selectively reject one or all drivers as necessary. On platforms the drivers are located in  and on  platforms it is.

Configuration File
rEFInd can operate without a configuration file, however a well documented sample file is available which can be installed by copying into the refind directory on your ESP. You can then edit it once it is there.

rEFInd is now installed to your EFI System Partition with all the resources it will need.

Automated Install Script
The rEFInd package comes with a shell script for installing the binaries and supporting files to the EFI System Partition called. Typically this should be a case of simply running the script, however it also has a number of options available - see. This also installs the refind configuration file as.

Listing rEFInd as a boot option
Ensure that  is enabled in the kernel. If it was built as a module, ensure that it is loaded into memory. This action can be done using the utility. After the modules have been loaded create a new boot entry using :

will automatically adjust the EFI boot order to put the most recently created entry at the top of the list. If that is undesired, change the boot order with the  option.

EFI Fallback Boot Image
Most EFI and UEFI firmware support a fallback EFI image to boot from if the configured EFI file cannot be found, and some will also override the configured boot selection if the fallback boot image is found. This can be used to boot into EFI mode when doing so otherwise is difficult.

Simply copy the directory on the ESP to  and rename the refind EFI file according to your platform.

This can be used as either a permanent setup or as a temporary bootstrap to get your system to boot in EFI mode. Note that on platforms, the  component is replaced with.

Kernel Management
As previously stated, when used with the appropriate filesystem driver, rEFInd can scan your root partition for suitable Linux kernels to boot. Alternatively, you can copy your kernel (and initramfs if you use one) to your ESP. If this method is used and filesystem drivers are not installed, this can potentially speed up your boot by a couple of seconds.

rEFInd detects and displays an icon appropriate for the operating system kernel based on the directory it is in. To display a nice Gentoo logo, copy your kernel (and initramfs if required) to.

Kernel cmdline
When booting a kernel using the Linux EFI stub, the kernel cmdline typically has to be built in to the kernel iteself with. This can still be done with rEFInd, however you can also specify different boot configurations to appear as different menu options within the rEFInd menu. This is done by creating the file with a menu title and the matching cmdline options on each line.

The main selection screen for rEFInd will use the first option as the default option, however alternate boot entries can be accessed by highlighting your kernel and pressing. You can also modify cmdline on-the-fly by pressing on a menu item to open it in an editor. When ready, press to boot your kernel.

External Resources

 * rEFInd SourceForge repository
 * Upstream installation instructions