Comparison of bootloaders

Last updated

The following tables compare general and technical information for a number of available bootloaders.

Contents

General information

NameDeveloper / PublisherCurrent versionInitial release dateLatest release date License CostWebsite / documentation
Acronis OS Selector Acronis International GmbH  ? ? ? Proprietary $49.95 (personal use)
$79.99 (commercial, per seat)
$299.99 (server)
Official website
AiR-BOOTMartin Kiewitz
Ben Rietbroek
 ? ? ? GPL-3.0-or-later No cost Official website
AKernelLoader ? ? ? ? GPL-2.0-or-later No cost Official website
Barebox Sascha Hauer
the barebox community
 ? ? ? GPL-2.0-only No cost Official website
BOOTBOOTbzt ?2017May 2023 MIT No cost Source repository

Official website

BootIt Bare Metal (formerly BootIt Next Generation)TeraByte Unlimited ? ? ? Proprietary $39.95 Official website
BootKey ? ? ? ? Proprietary  ? ?
BootManager  ? ? ? ? MIT No cost  ?
BootX (Apple) Apple Inc.  ? ? ? Proprietary bundled with macOS ?
BootX (Linux) Benjamin Herrenschmidt ? ? ? Proprietary No cost  ?
Clover (fork of rEFIt) https://github.com/CloverHackyColor/CloverBootloader/graphs/contributors Multi Contributors]5157October 3, 2013January 13, 2024 GPLv2/BSD-2-Clause No cost Official website

Source repository

Darwin Boot Loader Apple Inc.  ? ? ? APSL-2.0 No cost Official Website (Archived)
Das U-Boot DENX Software Engineering2023.01  OOjs UI icon edit-ltr-progressive.svg 9 January 2023  OOjs UI icon edit-ltr-progressive.svg GPL-2.0-or-later No cost Official website
Easybootbzt ?2023Dec 2023 GPL-3.0-or-later No cost Source repository
FreeBSD loader FreeBSD BSD license No cost
GAGRaster Software4.10  OOjs UI icon edit-ltr-progressive.svg  ?10 August 2008  OOjs UI icon edit-ltr-progressive.svg GPL-2.0-or-later No cost Official website
GRUB Legacy GNU Project GPL-2.0-or-later No cost
GNU GRUB GNU Project2.12 [1]   OOjs UI icon edit-ltr-progressive.svg 20 December 2023 GPL-3.0-or-later No cost Official website
Grub2Win GPLv3
GRUB4DOS GPL-2.0-only [lower-alpha 1] Official website
Gujin GPL-2.0-only Official website
systemd-boot / Gummiboot LGPL-2.1-or-later
iBoot Apple .Inc Proprietary
LILO BSD-3-Clause
Liminemintsuki7.0.2April 6, 2020January 26, 2024 BSD-2-Clause No cost Official website
loadlin GPL-2.0-or-later
MasterBooter GPL-2.0-only No cost Source repository
NTLDR Microsoft July 27, 1993 (Windows NT 3.1) Proprietary bundled with Windows
OpenCoreAcidantheraMay 4, 2019 BSD-3-Clause No cost Source repository
OSL2000 Boot Manager Proprietary
PLoP Boot Manager Proprietary No cost Official website
quibblemaharmstone20210111February 13, 2020January 12, 2021 GPL-3.0-or-later No cost Official website
RedBoot GPL-2.0-or-later (eCos license)
rEFInd (fork of rEFIt)Roderick W. Smith0.14.4.2March 14, 2012March 6, 2023 GPL-3.0-or-later/BSD-3-Clause No cost Official website
rEFIt Christoph Pfisterer0.14March 2, 2006March 7, 2010 GPL-2.0-or-later/BSD-3-Clause No cost Official website
Simplebootbzt ?2023Jul 2023 MIT No cost Documentation

Source repository

Smart Boot Manager GPL-2.0-or-later
SPFdisk GPL-2.0-or-later
SYSLINUX GPL-2.0-or-later
TianoCore EDK II BSD-2-Clause
Windows Boot Manager Microsoft January 30, 2007 (Windows Vista) Proprietary bundled with Windows
XOSL GPL-2.0-only
FreeLoader (ReactOS Boot Loader) GPL-2.0-or-later No cost Documentation
wolfBoot wolfSSL v2.0.2December 4, 2018December 29, 2023 GPL-2.0-or-later and Commercial Licensing No cost Official website
NameDeveloper / PublisherCurrent versionInitial release dateLatest release date License CostWebsite / documentation
  1. While most parts of GRUB4DOS are under GPL-2.0-or-later, the whole software is limited to GPL-2.0-only due to incorporating some code from Linux. [2]

Technical information

Note: The column MBR (Master Boot Record) refers to whether or not the boot loader can be stored in the first sector of a mass storage device. The column VBR (Volume Boot Record) refers to the ability of the boot loader to be stored in the first sector of any partition on a mass storage device.

Storage medium support

NameCan reside inCan boot from
ESP (UEFI) MBR VBR Floppy Hard disk Second Hard disk Logical partitions CD-ROM Floppy USB Zip LAN
Acronis OS Selector  ? ? ?YesYesYesYesYesYesYesYes ?
AiR-BOOT ?YesNo ? ? ? ? ? ? ? ? ?
AKernelLoader ?YesNoYesYesYesYes ?YesYes ? ?
Barebox YesYesNo ?YesYesYesYesYesYesNoYes
BOOTBOOTYesYesYesNoYesYesYesYesNoYesNoNo
BootIt Bare Metal ? ? ?YesYesYesYesYesYesYesYes ?
BootKey  ?NoNoYesNoNoNoYesYesYesNoNo
BootManager  ?YesNoNoYes ? ? ? ? ? ?No
BootX (Apple) YesNoNoNoYesNoNoYesNoYesYesYes
BootX (Linux) NoNoNoYesYesYesNoYesYesYesYesYes
CloverYesYesYesYesYesYes ?No ?Yes ?No
Darwin Boot LoaderYes ? ? ?YesYes ? ? ?Yes ? ?
Das U-Boot YesYes ? ?YesYesYesYesYesYesNoYes
EasybootYesYesYesNoYesYesYesNoNoYesNoNo
FreeBSD loaderYesYesYesYesYesYesYesYesYesYes ?Yes
GAG  ?Yes (SafeBoot)NoYesYesYesYesYesYesYesNoNo
GRUB Legacy NoYesYesYesYesYesYesYesYesYesYesYes
GNU GRUB YesYesYesYesYesYesYesYesYesYesYesYes
Grub2Win YesNoNoNoYesYesYesYesYesYesYesNo
GRUB4DOS  ?NoYesYesYesYesYesYesYesYesYesYes
Gujin ?NoYesYesYesYesYesYesYesYesYesNo
systemd-boot / Gummiboot YesNoNoNoYesYesYes ? ?Yes ? ?
iBoot Yes ? ? ?Yes ? ?No ? ? ? ?
LILO YesYesYesYesYesYesYesYesYesYesYes ?
LimineYesYesNoNoYesYesYesYesNoYesYesYes
loadlin  ?NoNoYesYesYesYesYesYesYesYesYes
MasterBooter ?Yes ? ?YesYesYes ?Yes ? ? ?
NTLDR  ?NoYesYesYes ?NoNoYesYes ? ?
OpenCoreYesYes ? ?YesYes ?No ?Yes ?No
OSL2000 Boot Manager ?YesYesNoYesYesYesYesYesYesYesNo
PLoP Boot Manager ?YesYesYesYesYesYesYesYesYesYesYes
quibbleYes ? ? ?Yes ? ? ? ? ? ? ?
RedBoot  ?NoYesYesYesYesYesYesYesYesYesYes
rEFInd YesNoNoNoYesYes ?Yes ?Yes ?Yes
rEFIt (not maintained)YesNoNoNoYesYes ?No ?Yes ?No
SimplebootYesYesNoNoYesYesYesNoNoYesNoNo
Smart Boot Manager ?YesNoYesYesYesYesYesYes ? ? ?
SPFdisk  ?YesYesYesYesYes ? ?Yes ? ? ?
SYSLINUX NoYesYesYesYesYesYesYesYesYesYesYes
Tianocore EDK II ?NoNoNoYesYes ?Yes ?YesNoYes
Windows Boot Manager YesNoYesNoYesYes ?YesYesYesYes ?
XOSL  ?NoNoYesYesYesYesYes ?No ?No
FreeLoader (ReactOS Boot Loader) ?NoYesYesYesYes ?YesYesYesYes ?
NameCan reside inCan boot from
ESP (UEFI) MBR VBR Floppy Hard disk Second Hard disk Logical partitions CD-ROM Floppy USB Zip LAN

Operating system support

NameCan boot
MS-DOS Windows 9x/Me Windows NT series before Vista Windows Vista/7/8/10 Linux ReactOS MenuetOS *BSD Mac OS X
Acronis OS Selector YesYesYesYesYes ? ?YesYes
AiR-BOOTYesYesYesYesYes ? ? ? ?
AKernelLoader ? ? ? ?Yes ? ? ? ?
Barebox  ? ? ? ?Yes ? ? ? ?
BOOTBOOTNoYesYesYesYes ? ? ? ?
BootIt Bare MetalYesYesYesYesYes ? ? ? ?
BootKey YesYesYesYesYes ? ? ? ?
BootManager YesYesCalls NTLDR Calls Windows Boot Manager Calls GRUB or LILO  ? ? ? ?
BootX (Apple)  ? ? ? ? ? ? ? ?Yes
BootX (Linux)  ? ? ? ?Yes ? ? ? ?
Clover ? ?YesYesYes ? ?YesYes
Darwin Boot Loader ? ? ?Yes ? ? ?YesYes
Das U-Boot  ? ? ? ?Yes ? ?Yes (FreeBSD) ?
EasybootYes (FreeDOS)NoCalls NTLDR Calls Windows Boot Manager YesYesYes (KolibriOS as well)Yes (FreeBSD, OpenBSD)No
FreeBSD loader ? ? ? ? ? ? ?Yes (FreeBSD, TrueOS) ?
FreeLoader (ReactOS Boot Loader)YesYesPartial [3] Calls Windows Boot ManagerYesYes ? ? ?
GAG YesYesCalls NTLDRCalls Windows Boot ManagerCalls GRUB or LILOCalls bootloaderCalls bootloaderCalls bootloaderNo
GRUB Legacy and GRUB4DOS YesYesCalls NTLDRCalls Windows Boot ManagerYesCalls FreeLoader YesCalls bootloader for some kernelsYes
GNU GRUB YesYesCalls NTLDRCalls Windows Boot ManagerYesCalls FreeLoader YesYesYes
Grub2Win YesYesCalls NTLDRCalls Windows Boot ManagerYes ? ?Yes (FreeBSD)Calls Clover
GujinYesYesCalls NTLDRYesYes ? ? ? ?
systemd-boot / Gummiboot NoNoWindows Server 2013 64bits with UEFI onlyCalls Windows Boot Manager [4] Yes ? ?UEFI onlyYes [4]
iBoot  ? ? ? ? ? ? ? ?Yes
LILO  ?YesCalls NTLDRYesYes ? ?Calls biosboot (FreeBSD, PC-BSD, ...) ?
loadlin with MEMDISK NoNoNoYesNoNo ? ?
LimineCalls bootloaderCalls bootloaderCalls bootloaderCalls bootloaderYesCalls bootloaderCalls bootloaderCalls bootloaderCalls bootloader
MasterBooterYesYesYesYesYes ? ?Yes ?
NTLDR YesYesYesNoCalls GRUB4DOS ? ? ?Calls Darwin bootloader [5]
OpenCore ? ?YesYesYes ? ?YesYes
OSL2000 Boot ManagerYesYesYesYesCalls GRUB or LILO ? ? ? ?
PLoP Boot ManagerYesYesYesYesCalls GRUB or LILO ? ? ? ?
quibble ? ? ?YesYesYes ?Yes ?
RedBoot YesYesCalls NTLDRCalls Windows Boot ManagerYesCalls FreeLoader YesYesYes
rEFInd (fork of rEFIt) ? ?YesYesYes ? ?YesYes
rEFIt (not maintained) ? ?YesYesYes ? ?YesYes
SimplebootNoNoNoNoYesNo ?Partial ?
Smart Boot ManagerYesYesYes ?Yes ? ?Yes ?
SPFdisk YesYes ? ? ? ? ? ? ?
SYSLINUX YesYesCalls NTLDRCalls Windows Boot ManagerYes ?Yesvia mboot.c32 module  ?
Tianocore EDK IINoNoNoYesYesNo ?Yes (FreeBSD,OpenBSD)Yes
Windows Boot Manager  ?YesCalls NTLDRYesCalls GRUB or LILO ? ? ? ?
XOSL YesYesYesYesYes ? ? ? ?
NameCan boot
MS-DOS Windows 9x/Me Windows NT series before Vista Windows Vista/7/8/10 Linux ReactOS MenuetOS *BSD Mac OS X

File-system support

Non-journaled

NameFAT Minix ext2 btrfs HFS APFS AFFS F2FS ZFS NILFS YAFFS
FAT12 FAT16 FAT32 exFAT YAFFS1 YAFFS2
Acronis OS Selector  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
AiR-BOOT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
AKernelLoader ? ?Yes ? ?Yes ? ? ? ? ? ? ? ? ?
Barebox YesYesYes ?NoYesNoNoNoNoNoNoNo ? ?
BOOTBOOTNoYesYesYesYesYes ? ? ? ? ? ? ? ? ?
BootIt Bare Metal ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootKey ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
bootload ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootManager  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootX (Apple)  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootX (Linux)  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Clover ? ?YesYes ? ? ? ?Yes ? ? ? ? ? ?
Darwin Boot Loader ? ?Yes ? ? ? ?YesYes ? ? ? ? ? ?
Das U-Boot YesYesYes ? ?Yes ? ? ? ? ?Yes ? ? ?
EasybootNoYesYesYesYesYes ? ? ? ? ? ? ? ? ?
extipl ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
FreeLoader (ReactOS)YesYesYes ? ?YesYes ? ? ? ? ? ? ? ?
GAG ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GNU GRUB 2 YesYesYesYesYesYesYesYesNoYesYesYesYes ? ?
GRUB Legacy YesYesYesNoYesYesNoNoNoNoNoNoNo ? ?
Grub2Win  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GRUB4DOS YesYesYesNoYesYesNoNoNoNoNoNoNo ? ?
Gujin ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
systemd-boot / Gummiboot  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
iBoot  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LILO  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LimineYesYesYesNoNoYesNoNoNoNoNoNoNoNoNo
loader (FreeBSD)YesYesYes ? ?Yes ? ? ? ? ?Yes ? ? ?
loadlin YesYesYesNoNoNoNoNoNoNoNoNoNoNoNo
LOLO ?YesYes ? ? ? ? ? ? ? ? ? ?YesYes
MasterBooter ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Multiple Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
NTLDR  ?YesYes ? ?NoNoNoNoNoNoNoNo ? ?
OpenCore ?YesYesYes ? ? ?YesYes ? ? ? ? ? ?
OSL2000 Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
PLoP Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
quibble ? ?Yes ? ? ?Yes ? ? ? ? ? ? ? ?
RedBoot  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
rEFInd Yes [lower-alpha 1]  ? ?Yes [lower-alpha 2] Yes [lower-alpha 2]  ? ? ? ? ? ? ? ?
rEFIt  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SimplebootNoNoYesNoNoNo ? ? ? ? ? ? ? ? ?
Smart Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SPFdisk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Syslinux YesYesYesNoNoYesYesNoNoNoNoNoNo ? ?
Tianocore EDK IIYesYesYes ? ? ? ? ? ? ? ? ? ? ? ?
Windows Boot Manager  ? ?YesYes ? ? ?NoNo ? ? ? ? ? ?
XOSL  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
yaboot  ? ? ? ? ?Yes ?Yes ? ? ? ? ? ? ?

Journaled

Name NTFS ext3 ext4 ReiserFS Reiser4 JFS XFS UFS UDF HFS+ BeFS AFS SFS UBIFS JFFS2
Acronis OS Selector  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
AiR-BOOT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
AKernelLoader ?Yes ? ? ? ? ? ? ? ? ? ? ? ? ?
Barebox  ?YesYes ? ? ? ? ? ? ? ? ? ?YesYes
BOOTBOOT ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootIt Bare Metal ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootKey ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
bootload ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootManager  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootX (Apple)  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
BootX (Linux)  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
CloverYes ? ? ? ? ? ? ? ?Yes ? ? ? ? ?
Darwin Boot LoaderYes ? ? ? ? ? ? ? ?Yes ? ? ? ? ?
Das U-Boot  ?YesYesYes ? ? ?Yes ? ? ? ? ?YesYes
extipl ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
FreeLoader (ReactOS)Yes ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GAG ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GNU GRUB 2 YesYesYesYesNoYesYesYesYesYesYesYesYes ? ?
GRUB Legacy NoYespatch [lower-alpha 1] Yes [lower-alpha 2] NoYes [lower-alpha 2] Yes [lower-alpha 2] Yes [lower-alpha 2] NoNoNoNoNoNoNo
Grub2Win  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
GRUB4DOS YesYesYesYes [lower-alpha 2] NoYes [lower-alpha 2] Yes [lower-alpha 2] Yes [lower-alpha 2]  ? ? ? ? ? ? ?
Gujin ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
systemd-boot / Gummiboot  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
iBoot  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LILO  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
LimineNoYesYesNoNoNoNoNoNoNoNoNoNoNoNo
loader (FreeBSD) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
loadlin Yes [lower-alpha 3] NoNoNoNoNoNoNoNoNoNoNoNoNoNo
LOLO ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
MasterBooter ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Multiple Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
NTLDR YesNoNoNoNoNoNoNoNoNoNoNoNoNoNo
OpenCoreYes ? ? ? ? ? ? ? ?Yes ? ? ? ? ?
OSL2000 Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
PLoP Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
quibbleYesYesYes ? ? ? ? ? ? ? ? ? ? ? ?
RedBoot  ? ? ? ? ? ? ? ? ? ? ? ? ? ?Yes
rEFInd Partial [lower-alpha 4] Yes [lower-alpha 4] Yes [lower-alpha 4]  ? ? ? ? ? ?Yes [lower-alpha 4]  ? ? ? ? ?
rEFIt  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Simpleboot ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Smart Boot Manager ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
SPFdisk ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Syslinux YesYesPartial [lower-alpha 5] NoNoNoYesYesYesNoNoNoNoNoNo
Tianocore EDK II ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Windows Boot Manager YesNoNoNoNoNoNoNo ?NoNoNoNoNoNo
XOSL  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
yaboot  ?YesYes ? ? ? ? ? ? ? ? ? ? ? ?

Read-only

Name cpio tar ISO 9660 romfs SquashFS cramfs
Acronis OS Selector  ? ? ? ? ? ?
AiR-BOOT ? ? ? ? ? ?
AKernelLoader ? ? ? ? ? ?
Barebox  ? ? ? ?Yes [lower-alpha 1] Yes
BOOTBOOTYesYesYesYesNoNo
BootIt Bare Metal ? ? ? ? ? ?
BootKey ? ? ? ? ? ?
bootload ? ? ? ? ? ?
BootManager  ? ? ? ? ? ?
BootX (Apple)  ? ? ? ? ? ?
BootX (Linux)  ? ? ? ? ? ?
Clover ? ? ? ? ? ?
Darwin Boot Loader ? ? ? ? ? ?
Das U-Boot  ? ? ? ?Yes [lower-alpha 2] Yes
extipl ? ? ? ? ? ?
FreeLoader (ReactOS) ? ? ? ? ? ?
GAG ? ? ? ? ? ?
GNU GRUB 2 YesYesYesYesYes ?
GRUB Legacy  ? ?Yes [lower-alpha 3]  ? ? ?
Grub2Win  ? ? ? ? ? ?
GRUB4DOS  ? ?Yes [lower-alpha 3]  ? ? ?
Gujin ? ? ? ? ? ?
systemd-boot / Gummiboot  ? ? ? ? ? ?
iBoot  ? ? ? ? ? ?
LILO  ? ? ? ? ? ?
LimineNoNoYesNoNoNo
loader (FreeBSD) ? ? ? ? ? ?
loadlin NoNoYes [lower-alpha 4]  ? ? ?
LOLO ? ? ? ? ? ?
MasterBooter ? ? ? ? ? ?
Multiple Boot Manager ? ? ? ? ? ?
NTLDR  ? ? ? ? ? ?
OpenCore ? ? ? ? ? ?
OSL2000 Boot Manager ? ? ? ? ? ?
PLoP Boot Manager ? ? ? ? ? ?
RedBoot  ? ? ? ? ? ?
rEFInd  ? ?Yes [lower-alpha 5]  ? ? ?
rEFIt  ? ? ? ? ? ?
SimplebootYesYesNoYesYesYes
Smart Boot Manager ? ? ? ? ? ?
SPFdisk ? ? ? ? ? ?
Syslinux  ? ?Yes ? ? ?
Tianocore EDK II ? ? ? ? ? ?
Windows Boot Manager NoNoYesNoNoNo
XOSL  ? ? ? ? ? ?
yaboot  ? ? ? ? ? ?

Other features

NameAdvanced commandScriptableSupported architectureSupported executableSupported protocolSupported decompressionOthers
GRUB Legacy YesNox86 (PC) Multiboot 1, Linux zImage, Linux bzImage and othersTFTPgzip
GRUB 2 YesYesx86 (PC, EFI, UEFI, coreboot, OLPC), IA-64, ARM (U-Boot, UEFI), PowerPC (OpenFirmware), MIPS, SPARC (OpenFirmware) Multiboot and others [6] TFTP, HTTP [7] gzip, xz [8]
LILO NoNox86 (PC)Linux zImage, Linux bzImage ?bzip2, gzip
loader (FreeBSD)YesYesx86 (PC, EFI, UEFI, coreboot, OLPC), ARM (U-Boot, UEFI), MIPS, PowerPC (OpenFirmware), SPARC v9 (OpenFirmware)FreeBSD ELF kernel image, Multiboot (incomplete, for Xen image only) [9] TFTP, NFSgzip, bzip2
loadlin NoNox86 (PC)Linux zImage, Linux bzImage ?gzip
LOLO (Logic PD)YesYesARM7, ARM9, ARM11, Cortex-A8, StrongARM, SH, ColdFireELF, binary, BIN (WinCE), SRECTFTP ?Supported devices: MCF54xx, MCF5329, MCF5373, LLH7A400, LLH7A404, LLH79520, LLH79524, LSH7727, LSH7750, LSH7760, PXA270, PXA320, IMX31, IMX27, OMAP35xx, OMAP37xx
SYSLINUX via cmd.c32 modulevia lua.c32 modulex86 (PC)Linux zImage, Linux bzImage, [10] Multiboot, [11] MBR image [12] TFTPgzip, bzip2, lzo, zip, lzma, ?
AKernelLoaderNoNox86 (PC)ELF, Binary ? ?
BOOTBOOTYesNox86-64 (PC, UEFI, El Torito CDROM, BSS Expansion ROM, UEFI Option ROM), ARM AArch64 (Raspberry Pi 3 and up)ELF64 / PE32+serialgzipcomes with a multiplatform, dependency-free bootable hybrid image creator (FOSS)
EasybootYesNox86-64 (BIOS, UEFI), ARM AArch64 (Raspberry Pi 3 and up)ELF32, ELF64, PE32+/COFF, a.out, Multiboot2, MZ, Linux zImage, Linux bzImage, FreeBSD BTX, OpenBSD ELF kernel image ?gzipcomes with a multiplatform, dependency-free bootable hybrid image creator (FOSS), Multiboot2 extensions (clean 64-bit, higher-half, embedded-tags-free, EDID and SMP support)
Yaboot NoNoPowerPC (Open Firmware)Linux ELF imageTFTPNo
RedBoot Yesyes (boot only)ARM, ColdFire, H8300, x86, Freescale/Motorola 68000, MIPS, PowerPC, SH, SPARC, SPARCLiteELFTFTP, serial (X-modem)gzip
Das U-Boot YesYesPowerPC, ARM, AVR32, Blackfin, ColdFire, IXP, Leon2, m68k, MicroBlaze, MIPS, NIOS, NIOS2, PXA, x86, RISC-V, StrongARM, SH2, SH3, SH4, ...EFI, ELF, U-Boot image format, Linux zImage, rawTFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol)bzip2, gzip, lzma
Barebox YesYesARM, Blackfin, NIOS2, MIPS, x86, PowerPCELF, U-Boot image formatTFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol)bzip2, gzip, lz4, xz, lzo
Linux kexecDepending on user spaceDepending on user spacex86, ARM, ARM64, PowerPC, PowerPC 64, IA-64, IBM Z, RISC-V [13] Linux bzImage, Multiboot, other ELF imageDepending on configuration and user spaceThe kexec system call can start another kernel, replacing the current running Linux, thus turning a Linux-based operating system into a fancy bootloader.
NTLDR NoNox86 (PC)Windows NT kernel image (PE), MBR image ? ?default bootloader on Windows NT
SimplebootYesNox86-64 (PC, UEFI)Linux zImage, Linux bzImage, ELF32 / ELF64 / COFF / PE32+ with Multiboot2  ?anycomes with a multiplatform, dependency-free image creator (FOSS), supports 64-bit higher-half kernels with Multiboot2
TianoCore EDK IIYesYesARM, RISC-V, x86EFIHTTPS ?UEFI reference implementation
Windows Boot Manager NoNox86 (PC), ARM (only on Windows Mobile remake) Portable Executable  ? ?Successor of NTLDR; used on Vista and up.
FreeLoader (ReactOS)NoNox86 (PC), ARM, PowerPC ? ? ?clone of NTLDR
extipl ? ? ? ? ? ? IBM IPL upper compatible
Multiple Boot Manager ? ? ? ? ? ?
bootload (Technologic Systems) ? ?ARM ? ? ? Proprietary
LimineYesNox86 (PC, UEFI), ARM Multiboot 1 and 2, Stivale 1 and 2, Linux zImage and bzImageTFTPgzip
wolfBootNoNoARM, RISC-V, PowerPC, x86Binary, ELF32/ELF64, Multiboot2NoNoOpen-source, OS-agnostic (run along-side RTOS, Linux or bare-metal), ARM TrustZone-M support, Hardware Security Module support (including TPM 2.0), Integrity and authenticity verification of firmware images. Roll-back to previous image, Encryption, Self-update
NameAdvanced commandScriptableSupported architectureSupported executableSupported protocolSupported decompressionOthers

Notes

  1. Daniel Kiper (20 December 2023). "GRUB 2.12 released" . Retrieved 20 December 2023.
  2. "stage2/dosstart.S". GitHub. 2014-10-12. Retrieved 2021-06-24. Since we have copied the Linux kernel code and the Linux kernel follows GPL2, so only GPL2 is adoptable and it rules here.
  3. http://www.reactos.org/newsletter-37 - Freeloader can load Windows Server 2003 directly, as long as it is on a FAT32 partition
  4. 1 2 Rod Smith, "Managing EFI Boot Loaders for Linux: Using gummiboot", 5 November 2012.
  5. "Chain0 - OSx86".
  6. "GNU GRUB Manual 2.06: Supported kernels". GNU. Free Software Foundation, Inc. Retrieved 2021-06-24.
  7. "GNU GRUB Manual 2.06: Device syntax". GNU. Free Software Foundation, Inc. Retrieved 2021-06-24. If you enabled the network support, the special drives (protocol[,server]) are also available. Supported protocols are 'http' and 'tftp'.
  8. "GNU GRUB Manual 2.02: Features".
  9. WHR. "An experiment to make a Multiboot-compliant kFreeBSD i386 image". SourceForge. Rivoreo. Retrieved 2021-06-24. Since 10.3-RELEASE, the BTX loader included in distribution supports Multiboot, but only for Xen (the Xen image is a Multiboot-compliant kernel). ... Because this multiboot support in BTX loader is designed for Xen only, it requires the first Multiboot module be original kFreeBSD image. Trying to load a Multiboot kernel without loading any Multiboot modules would resulted in BTX loader complaining 'No FreeBSD kernel provided, aborting'.
  10. "Can SYSLINUX Handle Large Kernels?". Syslinux Wiki. Retrieved 2021-06-24.
  11. "Mboot.c32 - Syslinux Wiki". www.syslinux.org. Retrieved 2018-10-12.
  12. "Comboot/chain.c32". Syslinux Wiki. Retrieved 2021-06-24.
  13. "Documentation for Kdump - The kexec-based Crash Dumping Solution" (text/plain). The Linux Kernel Archives. Retrieved 2021-06-24.

Related Research Articles

<span class="mw-page-title-main">GNU Hurd</span> Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

<span class="mw-page-title-main">GNU GRUB</span> Boot loader package

GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular operating system's partitions.

<span class="mw-page-title-main">SYSLINUX</span> Bootloader suite for Linux operating system

The Syslinux Project is a suite of five different boot loaders for starting up Linux distros on computers. It was primarily developed by H. Peter Anvin.

In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system. LKMs are typically used to add support for new hardware and/or filesystems, or for adding system calls. When the functionality provided by an LKM is no longer required, it can be unloaded in order to free memory and other resources.

<span class="mw-page-title-main">Multi-booting</span> Act of installing multiple operating systems on a single computer

Multi-booting is the act of installing multiple operating systems on a single computer, and being able to choose which one to boot. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines the architecture of the platform firmware used for booting the computer hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

vmlinux Executable file containing the Linux kernel

vmlinux is a statically linked executable file that contains the Linux kernel in one of the object file formats supported by Linux, which includes Executable and Linkable Format (ELF) and Common Object File Format (COFF). The vmlinux file might be required for kernel debugging, symbol table generation or other operations, but must be made bootable before being used as an operating system kernel by adding a multiboot header, bootsector and setup routines.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

The Multiboot specification is an open standard describing how a boot loader can load an x86 operating system kernel. The specification allows any compliant boot-loader implementation to boot any compliant operating-system kernel. Thus, it allows different operating systems and boot loaders to work together and interoperate, without the need for operating system–specific boot loaders. As a result, it also allows easier coexistence of different operating systems on a single computer, which is also known as multi-booting.

<span class="mw-page-title-main">Das U-Boot</span> Open-source, primary boot the devices operating system kernel

Das U-Boot is an open-source boot loader used in embedded devices to perform various low-level hardware initialization tasks and boot the device's operating system kernel. It is available for a number of computer architectures, including 68k, ARM, Blackfin, MicroBlaze, IBM S360, My66, Motorola 68000, MOS 6502, ARM64, MIPS, Nios, SuperH, PPC, RISC-V and x86.

<span class="mw-page-title-main">Fiwix</span> Operating system

Fiwix is an operating system kernel based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobbyist operating system, but it also serves for educational purposes. It runs on the i386 hardware platform and is compatible with a good base of existing GNU applications. It follows the UNIX System V application binary interface and is also mostly Linux 2.0 system call ABI compatible.

The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as Power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In personal computer (PC), not only limited to Linux-distro PC, this firmware/program is called BIOS, which is stored in the mainboard. In embedded Linux system, this firmware/program is called boot ROM. After being loaded into RAM, bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it then pass control to this kernel image. Second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the very first user-space process starts, and other high-level system initializations are performed.

gPXE is an open-source Preboot eXecution Environment (PXE) client firmware implementation and bootloader derived from Etherboot. It can be used to enable computers without built-in PXE support to boot from the network, or to extend an existing client PXE implementation with support for additional protocols. While standard PXE clients use TFTP to transfer data, gPXE client firmware adds the ability to retrieve data through other protocols like HTTP, iSCSI and ATA over Ethernet (AoE), and can work with Wi-Fi rather than requiring a wired connection.

<span class="mw-page-title-main">SeaBIOS</span> Open-source implementation of x86 BIOS

SeaBIOS is an open-source implementation of an x86 BIOS, serving as a freely available firmware for x86 systems. Aiming for compatibility, it supports standard BIOS features and calling interfaces that are implemented by a typical proprietary x86 BIOS. SeaBIOS can either run on bare hardware as a coreboot payload, or can be used directly in emulators such as QEMU and Bochs.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

iPXE is an open-source implementation of the Preboot eXecution Environment (PXE) client software and bootloader, created in 2010 as a fork of gPXE. It can be used to enable computers without built-in PXE capability to boot from the network, or to provide additional features beyond what built-in PXE provides.

<span class="mw-page-title-main">OpenZFS</span> Open-source implementation of the ZFS file system

OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system and now maintained by the OpenZFS Project. It supports features like data compression, data deduplication, copy-on-write clones, snapshots, and RAID-Z. It also supports the creation of virtual devices, which allows for the creation of file systems that span multiple disks.

rEFInd Boot manager for UEFI systems

rEFInd is a boot manager for UEFI and EFI-based machines. It can be used to boot multiple operating systems that are installed on a single non-volatile device. It also provides a way to launch UEFI applications.