Difference between revisions of "Boot loader"

From ArchWiki
Jump to: navigation, search
m (Feature comparison: style, grey for despacito)
(Feature comparison: reorder: EFISTUB + alphabetical active + alphabetical discontinued; make table sortable)
Line 22: Line 22:
 
}}
 
}}
  
{| class="wikitable"
+
{| class="wikitable sortable"
 
! rowspan="2"| Name
 
! rowspan="2"| Name
 
! colspan="2"| Firmware
 
! colspan="2"| Firmware
Line 31: Line 31:
 
! BIOS !! [[UEFI]]
 
! BIOS !! [[UEFI]]
 
! [[Btrfs]] !! [[ext4]] !! ReiserFS v3 !! [[VFAT]] !! [[XFS]]
 
! [[Btrfs]] !! [[ext4]] !! ReiserFS v3 !! [[VFAT]] !! [[XFS]]
 +
|-
 +
! [[EFISTUB]]
 +
| {{-}} || {{Yes}}
 +
| {{-}}
 +
| {{-}} || {{-}} || {{-}} || {{Y|ESP only}} || {{-}}
 +
| Kernel turned into EFI executable to be loaded directly from [[UEFI]] firmware or another bootloader.
 +
|-
 +
! [[Clover]]
 +
| {{G|emulates UEFI}} || {{Yes}}
 +
| {{Yes}}
 +
| {{No}} || {{Y|without encryption}} || {{No}} || {{Yes}} || {{No}}
 +
| Fork of rEFIt modified to run [[wikipedia:Hackintosh|macOS on non-Apple hardware]].
 
|-
 
|-
 
! [[GRUB]]
 
! [[GRUB]]
Line 38: Line 50:
 
| On BIOS/GPT configuration requires a [[BIOS boot partition]].
 
| On BIOS/GPT configuration requires a [[BIOS boot partition]].
 
|-
 
|-
! [[systemd-boot]]
+
! [[rEFInd]]
 
| {{No}} || {{Yes}}
 
| {{No}} || {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| {{No}} || {{No}} || {{No}} || {{Y|ESP only}} || {{No}}
+
| {{Y|without: encryption, zstd compression}} || {{Y|without encryption}} || {{Y|without tail-packing feature}} || {{Yes}} || {{No}}
| Cannot launch binaries from partitions other than [[ESP]].
+
| Supports auto-detecting kernels and parameters without explicit configuration.
 
|-
 
|-
 
! [[Syslinux]]
 
! [[Syslinux]]
Line 50: Line 62:
 
| No support for certain [[file system]] features [http://www.syslinux.org/wiki/index.php?title=Filesystem]
 
| No support for certain [[file system]] features [http://www.syslinux.org/wiki/index.php?title=Filesystem]
 
|-
 
|-
! [[EFISTUB]]
+
! [[systemd-boot]]
| {{-}} || {{Yes}}
 
| {{-}}
 
| {{-}} || {{-}} || {{-}} || {{Y|ESP only}} || {{-}}
 
| Kernel turned into EFI executable to be loaded directly from [[UEFI]] firmware or another bootloader.
 
|-
 
! [[rEFInd]]
 
 
| {{No}} || {{Yes}}
 
| {{No}} || {{Yes}}
 
| {{Yes}}
 
| {{Yes}}
| {{Y|without: encryption, zstd compression}} || {{Y|without encryption}} || {{Y|without tail-packing feature}} || {{Yes}} || {{No}}
+
| {{No}} || {{No}} || {{No}} || {{Y|ESP only}} || {{No}}
| Supports auto-detecting kernels and parameters without explicit configuration.
+
| Cannot launch binaries from partitions other than [[ESP]].
 
|-
 
|-
! [[Clover]]
+
! {{Grey|[[GRUB Legacy]]}}
| {{G|emulates UEFI}} || {{Yes}}
+
| {{Y|without GPT}} || {{No}}
 
| {{Yes}}
 
| {{Yes}}
| {{No}} || {{Y|without encryption}} || {{No}} || {{Yes}} || {{No}}
+
| {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Y|v4 only}}
| Fork of rEFIt modified to run [[wikipedia:Hackintosh|macOS on non-Apple hardware]].
+
| [https://www.gnu.org/software/grub/grub-legacy.html Discontinued] in favor of [[GRUB]].
 
|-
 
|-
 
! {{Grey|[[LILO]]}}
 
! {{Grey|[[LILO]]}}
Line 73: Line 79:
 
| {{No}} || {{Y|without encryption}} || {{Yes}} || {{Yes}} || {{Y|MBR only [http://xfs.org/index.php/XFS_FAQ#Q:_Does_LILO_work_with_XFS.3F]}}
 
| {{No}} || {{Y|without encryption}} || {{Yes}} || {{Yes}} || {{Y|MBR only [http://xfs.org/index.php/XFS_FAQ#Q:_Does_LILO_work_with_XFS.3F]}}
 
| [http://web.archive.org/web/20180323163248/http://lilo.alioth.debian.org/ Discontinued] due to limitations (e.g. with Btrfs, GPT, RAID).
 
| [http://web.archive.org/web/20180323163248/http://lilo.alioth.debian.org/ Discontinued] due to limitations (e.g. with Btrfs, GPT, RAID).
|-
 
! {{Grey|[[GRUB Legacy]]}}
 
| {{Y|without GPT}} || {{No}}
 
| {{Yes}}
 
| {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Y|v4 only}}
 
| [https://www.gnu.org/software/grub/grub-legacy.html Discontinued] in favor of [[GRUB]].
 
 
|}
 
|}
  

Revision as of 13:26, 22 August 2018

In order to boot Arch Linux, you must install a Linux-capable boot loader to the Master Boot Record or the GUID Partition Table. 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. See below for boot loaders available.

Note: Loading Microcode updates requires adjustments in boot loader configuration. [1]

Feature comparison

Note:
  • Boot loaders only need to support the file system on which kernel and initramfs reside (the file system on which /boot is located).
  • As GPT is part of the UEFI specification, all UEFI boot loaders support GPT disks. GPT on BIOS systems is possible, using either "hybrid booting", or the new GPT-only protocol. This protocol may however cause issues with certain BIOS implementations; see rodsbooks for details.
  • Encryption mentioned in file system support is filesystem-level encryption, it has no bearing on block-level encryption.
Name Firmware Multi-boot File systems Notes
BIOS UEFI Btrfs ext4 ReiserFS v3 VFAT XFS
EFISTUB Yes ESP only Kernel turned into EFI executable to be loaded directly from UEFI firmware or another bootloader.
Clover emulates UEFI Yes Yes No without encryption No Yes No Fork of rEFIt modified to run macOS on non-Apple hardware.
GRUB Yes Yes Yes without zstd compression Yes Yes Yes Yes On BIOS/GPT configuration requires a BIOS boot partition.
rEFInd No Yes Yes without: encryption, zstd compression without encryption without tail-packing feature Yes No Supports auto-detecting kernels and parameters without explicit configuration.
Syslinux Yes Partial Partial without: multi-device volumes, compression, encryption without encryption No Yes v4 on MBR only No support for certain file system features [2]
systemd-boot No Yes Yes No No No ESP only No Cannot launch binaries from partitions other than ESP.
GRUB Legacy without GPT No Yes No No Yes Yes v4 only Discontinued in favor of GRUB.
LILO without GPT No Yes No without encryption Yes Yes MBR only [3] Discontinued due to limitations (e.g. with Btrfs, GPT, RAID).

See also