UEFI Bootloaders

From ArchWiki
Revision as of 11:16, 19 October 2013 by Fengchao (Talk | contribs) (Linux Kernel EFISTUB: Move to its own page.)

Jump to: navigation, search

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

See EFISTUB.

GRUB 2.xx

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 - grub-bzrAUR.

SYSLINUX 6.xx

Install syslinux (from [testing]) or syslinux-firmware-gitAUR AUR package and copy /usr/lib/syslinux/efi64/* to $esp/EFI/syslinux/ ($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

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 elilo-efiAUR.

Warning: ELILO upstream has clarified that it is no longer in active development, meaning no new features will be added and only bug-fixes are released. See https://sourceforge.net/mailarchive/message.php?msg_id=31524008 for more info.

Troubleshooting

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: This troubleshooting note has been transferred from Beginners' Guide as discussed on the talk page. It is not yet well integrated here and is rather selective in terms of the help provided. (Discuss in Talk:UEFI Bootloaders#)
  • 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.

See also