This page contains info about various UEFI Bootloaders capable of booting Linux kernel. It is recommended to read the UEFI and GPT pages before reading this page. The following bootloaders are explained here:
Linux Kernel EFISTUB
GRUB 2.x contains its own filesystem drivers and does not rely on the firmware to access the files. It can directly read files from
/boot and does not require the kernel and initramfs files to be in the UEFISYS partition. Detailed information at GRUB#UEFI_systems_2. For bzr development version try AUR package - AUR.
$esp is the mountpoint of UEFISYS partition) (
efi64 is for x86_64 UEFI firmwares, replace with
efi32 for ia32 UEFI firmwares), and then create a boot entry using efibootmgr in the firmware boot manager.
ELILO is the UEFI version of LILO Boot Loader. It was originally created for Intel Itanium systems which supported only EFI 1.x (precursor to UEFI 2.x). It is the oldest UEFI bootloader for Linux. Elilo config file
elilo.conf is similar to LILO's config file. ELILO does not support chainloading other EFI applications. and does not provide a menu by default (setting up requires additional configuration as described in
elilo/docs/textmenu_chooser.txt file. Upstream provided compiled binaries are available at http://sourceforge.net/projects/elilo/ and AUR package at AUR.
- On some UEFI motherboards like the Intel Z77 boards, adding entries with efibootmgr or bcfg from efi shell will not work because they don't show up on the boot menu list after being added to NVRAM.
- To solve this you have to trick the UEFI firmware that Windows boot manager is present on the ESP partition.
- Copy the bootx64.efi file from USB drive as bootmgfw.efi efi file to your ESP partition by booting into EFI shell and typing:
FS1: cd EFI mkdir Microsoft cd Microsoft mkdir Boot cp FS0:\EFI\BOOT\bootx64.efi FS1:\EFI\Microsoft\Boot\bootmgfw.efi
- After reboot, any entries added to NVRAM should show up in the boot menu.