Difference between revisions of "Boot loaders"

From ArchWiki
Jump to: navigation, search
(update link(s) (avoid redirect))
(Updated wording and removed too detailed information.)
Line 5: Line 5:
 
The boot loader is the first piece of software started by the [[Wikipedia:BIOS|BIOS]] or [[UEFI]]. It is responsible for loading the kernel with the wanted [[kernel parameters]], and [[mkinitcpio|initial RAM disk]] before initiating the [[Arch boot process|boot process]]. You can use [[:Category:Boot loaders|different kinds]] of bootloaders in Arch, such as [[GRUB]] and [[Syslinux]]. Some bootloaders only support BIOS or UEFI and some support both.
 
The boot loader is the first piece of software started by the [[Wikipedia:BIOS|BIOS]] or [[UEFI]]. It is responsible for loading the kernel with the wanted [[kernel parameters]], and [[mkinitcpio|initial RAM disk]] before initiating the [[Arch boot process|boot process]]. You can use [[:Category:Boot loaders|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.
+
This page contains a short introduction about bootloaders available in Arch. For detailed information see the corresponding pages of each bootloader.
  
 
== Both BIOS and UEFI boot loaders ==
 
== Both BIOS and UEFI boot loaders ==
Line 27: Line 27:
 
=== Linux Kernel EFISTUB ===
 
=== Linux Kernel EFISTUB ===
  
The Linux kernel can be booted directly without a boot loader. See [[EFISTUB]] for more information.
+
The Linux kernel can be booted directly without a boot loader. The stock Archlinux kernel has the EFI stub loader built in. See [[EFISTUB]].
  
 
==== Gummiboot ====
 
==== Gummiboot ====
  
Gummiboot is a UEFI Boot Manager (not a boot loader) which provides a menu for EFISTUB kernels. See [[Gummiboot]] for more information.
+
Gummiboot is a UEFI Boot Manager which provides a menu for booting EFISTUB kernels. See [[Gummiboot]].
  
 
==== rEFInd ====
 
==== rEFInd ====
  
rEFInd is a UEFI Boot Manager which provides a menu for booting EFISTUB kernels (The stock Archlinux kernel has the EFI stub loader built in). It is an alternative to Gummiboot. See [[rEFInd]] for more information, and two example use-case setups (a pure Archlinux system and a dual boot system with Windows 8.1).
+
rEFInd is a UEFI Boot Manager which provides a menu for booting EFISTUB kernels. It is an alternative to Gummiboot. See [[rEFInd]].
  
 
=== ELILO ===
 
=== ELILO ===
  
{{Warning|1=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 information. ELILO also is not officially supported by Arch developers.}}
+
{{Warning|1=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 information. ELILO is not officially supported by Arch developers.}}
  
ELILO is the UEFI version of the BIOS-only [[LILO]] (although they do not share code). 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 {{ic|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 {{ic|elilo/docs/textmenu_chooser.txt}} file. Upstream provided compiled binaries are available at http://sourceforge.net/projects/elilo/ and AUR package at {{AUR|elilo-efi}}.
+
ELILO is the UEFI version of the BIOS-only [[LILO]]. Its config file {{ic|elilo.conf}} is similar to [[LILO]]'s config file. Upstream provided compiled binaries are available at http://sourceforge.net/projects/elilo/ and an AUR package at {{AUR|elilo-efi}}.
  
 
== BIOS-only boot loaders ==
 
== BIOS-only boot loaders ==
Line 49: Line 49:
 
{{Note|GRUB Legacy is not officially supported by Arch developers.}}
 
{{Note|GRUB Legacy is not officially supported by Arch developers.}}
  
GRUB Legacy (also known as grub-0.97), is the legacy, BIOS-only branch of [[GRUB]]. See [[GRUB Legacy]] for more information.
+
GRUB Legacy (also known as grub-0.97), is the legacy, BIOS-only branch of [[GRUB]]. See [[GRUB Legacy]].
  
 
=== LILO ===
 
=== LILO ===
Line 61: Line 61:
 
{{Note|NeoGRUB is not officially supported by Arch developers.}}
 
{{Note|NeoGRUB is not officially supported by Arch developers.}}
  
NeoGRUB provides a means to boot Arch from the Windows boot loader without installing an additional boot loader. 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 another bootloader. See [[NeoGRUB]] for more information.
+
NeoGRUB provides a means to boot Arch from the Windows boot loader without installing an additional boot loader. See [[NeoGRUB]].
  
 
Booting Arch from NeoGRUB has not been tested yet from Windows 8 and/or UEFI systems.
 
Booting Arch from NeoGRUB has not been tested yet from Windows 8 and/or UEFI systems.

Revision as of 16:24, 22 March 2014

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 contains a short introduction about bootloaders available in Arch. For detailed information see the corresponding pages of each bootloader.

Both BIOS and UEFI boot loaders

GRUB

See GRUB.

Syslinux

See Syslinux.

BURG

Note: BURG is not officially supported by Arch developers.

See BURG.

UEFI-only boot loaders

Linux Kernel EFISTUB

The Linux kernel can be booted directly without a boot loader. The stock Archlinux kernel has the EFI stub loader built in. See EFISTUB.

Gummiboot

Gummiboot is a UEFI Boot Manager which provides a menu for booting EFISTUB kernels. See Gummiboot.

rEFInd

rEFInd is a UEFI Boot Manager which provides a menu for booting EFISTUB kernels. It is an alternative to Gummiboot. See rEFInd.

ELILO

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 information. ELILO is not officially supported by Arch developers.

ELILO is the UEFI version of the BIOS-only LILO. Its config file elilo.conf is similar to LILO's config file. Upstream provided compiled binaries are available at http://sourceforge.net/projects/elilo/ and an AUR package at elilo-efiAUR.

BIOS-only boot loaders

GRUB Legacy

Note: GRUB Legacy is not officially supported by Arch developers.

GRUB Legacy (also known as grub-0.97), is the legacy, BIOS-only branch of GRUB. See GRUB Legacy.

LILO

Note: LILO is not officially supported by Arch developers but it does continue to be actively developed.

See LILO.

NeoGRUB

Note: NeoGRUB is not officially supported by Arch developers.

NeoGRUB provides a means to boot Arch from the Windows boot loader without installing an additional boot loader. See NeoGRUB.

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

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