Comparison of bootloaders explained

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

General information

NameDeveloper / PublisherCurrent versionInitial release dateLatest release dateLicenseCostWebsite / documentation
class="table-rh" Acronis OS SelectorAcronis International GmbH
class="table-rh" AiR-BOOTMartin Kiewitz
Ben Rietbroek
class="table-rh" AKernelLoader
class="table-rh" BareboxSascha Hauer
the barebox community
class="table-rh" BOOTBOOTbzt
class="table-rh" BootIt Bare Metal (formerly BootIt Next Generation)TeraByte Unlimited
class="table-rh" BootKey
class="table-rh" BootManager
class="table-rh" BootX (Apple)Apple Inc.
class="table-rh" BootX (Linux)Benjamin Herrenschmidt
class="table-rh" Clover (fork of rEFIt) https://github.com/CloverHackyColor/CloverBootloader/graphs/contributors Multi Contributors]5157/BSD-2-Clause
class="table-rh" Darwin Boot LoaderApple Inc.
class="table-rh" Das U-BootDENX Software Engineering
class="table-rh" Easybootbzt
class="table-rh" FreeBSD loaderFreeBSD
class="table-rh" GAGRaster Software
class="table-rh" GRUB LegacyGNU Project
class="table-rh" GNU GRUB1995
class="table-rh" Grub2Win
class="table-rh" GRUB4DOS
class="table-rh" Gujin
class="table-rh" systemd-boot / Gummiboot
class="table-rh" iBootApple Inc.
class="table-rh" LILO
class="table-rh" Liminemintsuki7.5.2
class="table-rh" loadlin
class="table-rh" MasterBooter
class="table-rh" NTLDRMicrosoft (Windows NT 3.1)
class="table-rh" OpenCoreAcidanthera
class="table-rh" OSL2000 Boot Manager
class="table-rh" PLoP Boot Manager
class="table-rh" quibble maharmstone 20210111
class="table-rh" RedBootmod (eCos license)
class="table-rh" rEFInd (fork of rEFIt) Roderick W. Smith 0.14.4.2/BSD-3-Clause
class="table-rh" rEFItChristoph Pfisterer0.14/BSD-3-Clause
class="table-rh" Simplebootbzt
class="table-rh" Smart Boot Manager
class="table-rh" SPFdisk
class="table-rh" SYSLINUX
class="table-rh" TianoCore EDK II
class="table-rh" Windows Boot ManagerMicrosoft (Windows Vista)
class="table-rh" XOSL
class="table-rh" FreeLoader (ReactOS Boot Loader)
class="table-rh" wolfBootwolfSSL v2.0.2 and Commercial Licensing
NameDeveloper / PublisherCurrent versionInitial release dateLatest release dateLicenseCostWebsite / documentation

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)MBRVBRFloppyHard diskSecond Hard diskLogical partitionsCD-ROMFloppyUSBZipLAN
Acronis OS Selector
AiR-BOOT
AKernelLoader
Barebox
BOOTBOOT
BootIt Bare Metal
BootKey
BootManager
BootX (Apple)
BootX (Linux)
Clover
Darwin Boot Loader
Das U-Boot
Easyboot
FreeBSD loader
GAG (SafeBoot)
GRUB Legacy
GNU GRUB
Grub2Win
GRUB4DOS
Gujin
systemd-boot / Gummiboot
iBoot
LILO
Limine
loadlin
MasterBooter
NTLDR
OpenCore
OSL2000 Boot Manager
PLoP Boot Manager
quibble
RedBoot
rEFInd
rEFIt (not maintained)
Simpleboot
Smart Boot Manager
SPFdisk
SYSLINUX
Tianocore EDK II
Windows Boot Manager
XOSL
FreeLoader (ReactOS Boot Loader)
NameCan reside inCan boot from
ESP (UEFI)MBRVBRFloppyHard diskSecond Hard diskLogical partitionsCD-ROMFloppyUSBZipLAN

Operating system support

NameCan boot
MS-DOSWindows 9x/MeWindows NT series before VistaWindows Vista/7/8/10LinuxReactOSMenuetOS
  • BSD
Mac OS X
Acronis OS Selector
AiR-BOOT
AKernelLoader
Barebox
BOOTBOOT
BootIt Bare Metal
BootKey
BootManager
BootX (Apple)
BootX (Linux)
Clover
Darwin Boot Loader
Das U-Boot (FreeBSD)
Easyboot (FreeDOS) (KolibriOS as well) (FreeBSD, OpenBSD)
FreeBSD loader (FreeBSD, TrueOS)
FreeLoader (ReactOS Boot Loader)[1]
GAG
GRUB Legacy and GRUB4DOS
GNU GRUB
Grub2Win (FreeBSD)
Gujin
systemd-boot / Gummiboot[2]
iBoot
LILO (FreeBSD, PC-BSD, ...)
loadlin
Limine
MasterBooter
NTLDR[3]
OpenCore
OSL2000 Boot Manager
PLoP Boot Manager
quibble
RedBoot
rEFInd (fork of rEFIt)
rEFIt (not maintained)
Simpleboot
Smart Boot Manager
SPFdisk
SYSLINUX
Tianocore EDK II (FreeBSD,OpenBSD)
Windows Boot Manager
XOSL
NameCan boot
MS-DOSWindows 9x/MeWindows NT series before VistaWindows Vista/7/8/10LinuxReactOSMenuetOS
  • BSD
Mac OS X

File-system support

Non-journaled

NameFATMinixext2btrfsHFSAPFSAFFSF2FSZFSNILFSYAFFS
FAT12FAT16FAT32exFATYAFFS1YAFFS2
Acronis OS Selector
AiR-BOOT
AKernelLoader
Barebox
BOOTBOOT
BootIt Bare Metal
BootKey
bootload
BootManager
BootX (Apple)
BootX (Linux)
Clover
Darwin Boot Loader
Das U-Boot
Easyboot
extipl
FreeLoader (ReactOS)
GAG
GNU GRUB 2
GRUB Legacy
Grub2Win
GRUB4DOS
Gujin
systemd-boot / Gummiboot
iBoot
LILO
Limine
loader (FreeBSD)
loadlin
LOLO
MasterBooter
Multiple Boot Manager
NTLDR
OpenCore
OSL2000 Boot Manager
PLoP Boot Manager
quibble
RedBoot
rEFInd<---exFAT--->
rEFIt
Simpleboot
Smart Boot Manager
SPFdisk
Syslinux
Tianocore EDK II
Windows Boot Manager
XOSL
yaboot

Journaled

NameNTFSext3ext4ReiserFSReiser4JFSXFSUFSUDFHFS+BeFSAFSSFSUBIFSJFFS2
Acronis OS Selector
AiR-BOOT
AKernelLoader
Barebox
BOOTBOOT
BootIt Bare Metal
BootKey
bootload
BootManager
BootX (Apple)
BootX (Linux)
Clover
Darwin Boot Loader
Das U-Boot
extipl
FreeLoader (ReactOS)
GAG
GNU GRUB 2
GRUB Legacy
Grub2Win
GRUB4DOS
Gujin
systemd-boot / Gummiboot
iBoot
LILO
Limine
loader (FreeBSD)
loadlin
LOLO
MasterBooter
Multiple Boot Manager
NTLDR
OpenCore
OSL2000 Boot Manager
PLoP Boot Manager
quibble
RedBoot
rEFInd
rEFIt
Simpleboot
Smart Boot Manager
SPFdisk
Syslinux
Tianocore EDK II
Windows Boot Manager
XOSL
yaboot

Read-only

NamecpiotarISO 9660romfsSquashFScramfs
Acronis OS Selector
AiR-BOOT
AKernelLoader
Barebox
BOOTBOOT
BootIt Bare Metal
BootKey
bootload
BootManager
BootX (Apple)
BootX (Linux)
Clover
Darwin Boot Loader
Das U-Boot
extipl
FreeLoader (ReactOS)
GAG
GNU GRUB 2
GRUB Legacy
Grub2Win
GRUB4DOS
Gujin
systemd-boot / Gummiboot
iBoot
LILO
Limine
loader (FreeBSD)
loadlin
LOLO
MasterBooter
Multiple Boot Manager
NTLDR
OpenCore
OSL2000 Boot Manager
PLoP Boot Manager
RedBoot
rEFInd
rEFIt
Simpleboot
Smart Boot Manager
SPFdisk
Syslinux
Tianocore EDK II
Windows Boot Manager
XOSL
yaboot

Other features

NameAdvanced commandScriptableSupported architectureSupported executableSupported protocolSupported decompressionOthers
GRUB Legacyx86 (PC)Multiboot 1, Linux zImage, Linux bzImage and othersTFTPgzip
GRUB 2x86 (PC, EFI, UEFI, coreboot, OLPC), IA-64, ARM (U-Boot, UEFI), PowerPC (OpenFirmware), MIPS, SPARC (OpenFirmware)Multiboot and others[4] TFTP, HTTP[5] gzip, xz[6]
LILOx86 (PC)Linux zImage, Linux bzImagebzip2, gzip
loader (FreeBSD)x86 (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)[7] TFTP, NFSgzip, bzip2
loadlinx86 (PC)Linux zImage, Linux bzImagegzip
LOLO (Logic PD)ARM7, ARM9, ARM11, Cortex-A8, StrongARM, SH, ColdFireELF, binary, BIN (WinCE), SRECTFTPSupported devices: MCF54xx, MCF5329, MCF5373, LLH7A400, LLH7A404, LLH79520, LLH79524, LSH7727, LSH7750, LSH7760, PXA270, PXA320, IMX31, IMX27, OMAP35xx, OMAP37xx
SYSLINUXx86 (PC)Linux zImage, Linux bzImage,[8] Multiboot,[9] MBR image[10] TFTPgzip, bzip2, lzo, zip, lzma, ?
AKernelLoaderx86 (PC)ELF, Binary
BOOTBOOTx86-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)
Easybootx86-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 imagegzipcomes with a multiplatform, dependency-free bootable hybrid image creator (FOSS), Multiboot2 extensions (clean 64-bit, higher-half, embedded-tags-free, EDID and SMP support)
YabootPowerPC (Open Firmware)Linux ELF imageTFTP
RedBootARM, ColdFire, H8300, x86, Freescale/Motorola 68000, MIPS, PowerPC, SH, SPARC, SPARCLiteELFTFTP, serial (X-modem)gzip
Das U-BootPowerPC, 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
BareboxARM, Blackfin, NIOS2, MIPS, x86, PowerPCELF, U-Boot image formatTFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol)bzip2, gzip, lz4, xz, lzo
Linux kexecx86, ARM, ARM64, PowerPC, PowerPC 64, IA-64, IBM Z, RISC-V[11] Linux bzImage, Multiboot, other ELF imageThe kexec system call can start another kernel, replacing the current running Linux, thus turning a Linux-based operating system into a fancy bootloader.
NTLDRx86 (PC)Windows NT kernel image (PE), MBR imagedefault bootloader on Windows NT
Simplebootx86-64 (PC, UEFI)Linux zImage, Linux bzImage, ELF32 / ELF64 / COFF / PE32+ with Multiboot2anycomes with a multiplatform, dependency-free image creator (FOSS), supports 64-bit higher-half kernels with Multiboot2
TianoCore EDK IIARM, RISC-V, x86EFIHTTPSUEFI reference implementation
Windows Boot Managerx86 (PC), ARM (only on Windows Mobile remake)Portable ExecutableSuccessor of NTLDR; used on Vista and up.
FreeLoader (ReactOS)x86 (PC), ARM, PowerPCclone of NTLDR
extiplIBM IPL upper compatible
Multiple Boot Manager
bootload (Technologic Systems)ARMProprietary
Liminex86 (PC, UEFI), ARMMultiboot 1 and 2, Stivale 1 and 2, Linux zImage and bzImageTFTPgzip
wolfBootARM, RISC-V, PowerPC, x86Binary, ELF32/ELF64, Multiboot2Open-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 and References

  1. http://www.reactos.org/newsletter-37 - Freeloader can load Windows Server 2003 directly, as long as it is on a FAT32 partition
  2. Rod Smith, "Managing EFI Boot Loaders for Linux: Using gummiboot", 5 November 2012.
  3. Web site: Chain0 - OSx86.
  4. Web site: GNU GRUB Manual 2.06: Supported kernels . GNU . Free Software Foundation, Inc. . 2021-06-24.
  5. Web site: GNU GRUB Manual 2.06: Device syntax . GNU . Free Software Foundation, Inc. . 2021-06-24 . If you enabled the network support, the special drives (protocol[,server]) are also available. Supported protocols are ‘http’ and ‘tftp’..
  6. Web site: GNU GRUB Manual 2.02: Features.
  7. Web site: WHR . An experiment to make a Multiboot-compliant kFreeBSD i386 image . SourceForge . Rivoreo . 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'..
  8. Web site: Can SYSLINUX Handle Large Kernels? . Syslinux Wiki . 2021-06-24.
  9. Web site: Mboot.c32 - Syslinux Wiki. www.syslinux.org. en. 2018-10-12.
  10. Web site: Comboot/chain.c32 . Syslinux Wiki . 2021-06-24.
  11. Web site: Documentation for Kdump - The kexec-based Crash Dumping Solution . The Linux Kernel Archives . 2021-06-24 . text/plain.