Difference between revisions of "Boot loaders"

From ArchWiki
Jump to: navigation, search
m (Kynikos moved page Bootloaders to Boot Loaders: Wikipedia uses the two-word version)
(merge UEFI Bootloaders into this page, removed LILO as it's dead, removed table)
Line 1: Line 1:
 
[[Category:Boot loaders]]
 
[[Category:Boot loaders]]
 
{{Stub|This page is created to ease the transition from GRUB Legacy to GRUB.}}
 
{{Stub|This page is created to ease the transition from GRUB Legacy to GRUB.}}
The boot loader is responsible for loading the kernel 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]], [[Syslinux]], [[LILO]] or [[GRUB Legacy]]. For UEFI Bootloaders, please see [[UEFI Bootloaders|this]] page.
+
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 [[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]], [[Syslinux]], [[LILO]] or [[GRUB Legacy]].
  
 
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 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.
  
== Configuration ==
+
== Both BIOS and UEFI boot loaders ==
=== Configuration files ===
+
Different boot loader use different files for configuration.
+
  
{|border=1 width="70%" class="wikitable"
+
=== GRUB ===
!Boot Loader!!Configuration File
+
See [[GRUB]].
|-
+
|
+
GRUB
+
|{{ic|/boot/grub/grub.cfg}}
+
|-
+
|
+
GRUB Legacy
+
|{{ic|/boot/grub/menu.lst}}
+
|-
+
|
+
LILO
+
|{{ic|/etc/lilo.conf}}
+
|-
+
|
+
Syslinux
+
|{{ic|/boot/syslinux/syslinux.cfg}}
+
|-
+
|}
+
  
=== Kernel parameters ===
+
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 {{ic|/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|grub-bzr}}.
Kernel command line parameters are often supplied by the bootloader. See [[Kernel parameters]].
+
 
 +
=== Syslinux ===
 +
See [[Syslinux]].
 +
 
 +
== UEFI-only boot loaders ==
 +
 
 +
=== Linux Kernel EFISTUB ===
 +
 
 +
See [[EFISTUB]].
 +
 
 +
== Troubleshooting ==
 +
 
 +
=== Bootloader does not show up in UEFI menu ===
 +
{{Poor writing|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.}}
 +
 
 +
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 ==
 +
 
 +
* [http://www.rodsbooks.com/efi-bootloaders/ Rod Smith - Managing EFI Boot Loaders for Linux]
 +
* [http://www.rodsbooks.com/refind/ Rod Smith - rEFInd, a fork or rEFIt]
 +
* [https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/x86/efi-stub.txt;hb=HEAD Linux Kernel Documentation on EFISTUB]
 +
* [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=291f36325f9f252bd76ef5f603995f37e453fc60;hp=55839d515495e766605d7aaabd9c2758370a8d27 Linux Kernel EFISTUB Git Commit]
 +
* [http://www.rodsbooks.com/efi-bootloaders/efistub.html Rod Smith's page on EFISTUB]
 +
* [http://www.rodsbooks.com/refind/linux.html rEFInd Documentation for booting EFISTUB Kernels]

Revision as of 11:24, 24 October 2013

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: This page is created to ease the transition from GRUB Legacy to GRUB. (Discuss in Talk:Boot loaders#)

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, Syslinux, LILO or GRUB Legacy.

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 bzr development version try AUR package - grub-bzrAUR.

Syslinux

See Syslinux.

UEFI-only boot loaders

Linux Kernel EFISTUB

See EFISTUB.

Troubleshooting

Bootloader does not show up in UEFI menu

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:Boot loaders#)

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