Boot loaders

From ArchWiki
Revision as of 19:55, 11 November 2013 by Yanom (Talk | contribs) (NeoGRUB)

Jump to: navigation, search

The boot loader is the first piece of software started by the BIOS or UEFI. It is responsible for loading the kernel with the wanted kernel parameters, and initial RAM disk before initiating the boot process. You can use different kinds of bootloaders in Arch, such as GRUB and Syslinux. Some bootloaders only support BIOS or UEFI and some support both.

This page will only contain a short introduction and the most used configurations that users will encounter. For detailed information, please see the corresponding pages of each boot loader.

Both BIOS and UEFI Boot Loaders

GRUB

See GRUB

Note: About UEFI support: 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 GIT development version try AUR package - grub-gitAUR

Syslinux

See Syslinux

UEFI-only Boot Loaders

Linux Kernel EFISTUB

Follow EFISTUB

Gummiboot

Gummiboot is a UEFI Boot Manager (not a boot loader) which provides a menu for EFISTUB kernels. For more info follow Gummiboot.

rEFInd

rEFInd is a UEFI Boot Manager which provides a menu for EFISTUB kernels. It is alternative to Gummiboot. For more info follow rEFInd.

ELILO

ELILO is the UEFI version of LILO Boot Loader (although it does not share code with BIOS based 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. ELILO is not officially supported by Arch devs.

BIOS-only Boot Loaders

GRUB Legacy

Follow GRUB Legacy

Note: GRUB Legacy (also known as grub-0.97) is not officially supported by Arch devs.

LILO

Follow LILO

Note: LILO is not officially supported by Arch devs, although it seems to be actively developed.

NeoGRUB

NeoGRUB provides a means to boot Arch from the Windows Bootloader without installing a bootloader on the Arch itself. It is provided by the EasyBCD tool running on Windows. This is a great option for dual-booting Windows and Arch, especially if you find that Windows has trouble when booted or chainloaded from Syslinux or GRUB.

Booting Arch from NeoGRUB has not been tested yet from Windows 8 and/or UEFI systems.

Note: NeoGRUB is not officially supported by Arch devs.

Troubleshooting

UEFI Boot Loader does not show up in firmware menu

On some UEFI motherboards like boards with an Intel Z77 chipset, adding entries with efibootmgr or bcfg from the EFI Shell will not work because they don't show up on the boot menu list after being added to NVRAM.

This issue is caused because the motherboards can only load Microsoft Windows. To solve this you have to place the .efi file in the location that Windows uses.

Copy the bootx64.efi file from the Arch Linux installation medium (FSO:) to the Microsoft directory your ESP partition on your hard drive (FS1:). Do this 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