Comparison of boot loaders

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

Features

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

Name License Can reside in Can boot from
ESP (UEFI) MBR VBR Floppy Hard disk Second Hard disk Logical partitions CD-ROM Floppy USB Zip LAN
Acronis OS Selector Proprietary ? ? ? Yes Yes Yes Yes Yes Yes Yes Yes ?
AiR-BOOT GPLv3 ? Yes No ? ? ? ? ? ? ? ? ?
AKernelLoader GPLv2 ? Yes No Yes Yes Yes Yes ? Yes Yes ? ?
Barebox GPLv2 Yes Yes No ? Yes Yes Yes Yes Yes Yes No Yes
BOOTBOOT MIT Yes Yes Yes No Yes Yes Yes Yes No Yes No No
Boot Manager Proprietary No No No No Yes Yes Yes No No ? ? No
BootIt Bare Metal (formerly BootIt Next Generation) Proprietary ? ? ? Yes Yes Yes Yes Yes Yes Yes Yes ?
BootKey Proprietary ? No No Yes No No No Yes Yes Yes No No
BootManager MIT ? Yes No No Yes ? ? ? ? ? ? No
BootX (Apple) Proprietary ? ? ? ? Yes ? ? ? ? ? ? Yes
BootX (Linux) Proprietary ? ? ? ? ? ? ? ? ? ? ? ?
Clover (fork of rEFIt) GPLv2/BSD license Yes Yes Yes Yes Yes Yes ? No ? Yes ? No
Darwin Boot Loader APSL 2.0 ? ? ? ? ? ? ? ? ? ? ? ?
Das U-Boot GPLv2 ? ? ? ? Yes Yes Yes Yes Yes Yes No Yes
GAG GPLv2+ ? Yes (SafeBoot) No Yes Yes Yes Yes Yes Yes Yes No No
GRUB Legacy GPLv2+ No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
GNU GRUB GPLv3 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Grub2Win GPLv3 Yes No No No Yes Yes Yes Yes Yes Yes Yes No
GRUB4DOS GPLv2+ ? No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Gujin GPLv2 ? No Yes Yes Yes Yes Yes Yes Yes Yes Yes No
systemd-boot / Gummiboot LGPL 2.1 Yes No No No Yes Yes Yes ? ? Yes ? ?
iBoot Proprietary Yes ? ? ? Yes ? Yes Yes ? ? ? ?
LILO BSD license Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes ?
loader(8) BSD license Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes ? Yes
loadlin GPLv2+ ? No No Yes Yes Yes Yes Yes Yes Yes Yes Yes
MasterBooter Proprietary ? Yes ? ? Yes Yes Yes ? Yes ? ? ?
NTLDR Proprietary ? No Yes Yes Yes ? No No Yes Yes ? ?
OSL2000 Boot Manager Proprietary ? Yes Yes No Yes Yes Yes Yes Yes Yes Yes No
PLoP Bootmanager, Plop Boot Manager Six (PBM6) Proprietary ? Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
RedBoot GPLv2+ ? No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
rEFInd (fork of rEFIt) GPLv3/BSD license Yes No No No Yes Yes ? Yes ? Yes ? Yes
rEFIt (not maintained) GPLv2/BSD license Yes No No No Yes Yes ? No ? Yes ? No
Smart Boot Manager GPLv2+ ? Yes No Yes Yes Yes Yes Yes Yes ? ? ?
SPFdisk GPLv2+ ? Yes Yes Yes Yes Yes ? ? Yes ? ? ?
SYSLINUX GPLv2+ No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Tianocore EDK II BSD-2-Clause ? No No No Yes Yes ? Yes ? Yes No Yes
XOSL GPLv2 ? No No Yes Yes Yes Yes Yes ? No ? No
Windows Boot Manager Proprietary Yes No Yes No Yes Yes ? Yes Yes Yes Yes ?
FreeLoader (ReactOS Boot Loader) GPLv2+ ? No Yes Yes Yes Yes ? Yes Yes Yes Yes ?
Name License Can reside in Can boot from
ESP (UEFI) MBR VBR Floppy Hard disk Second Hard disk Logical partitions CD-ROM Floppy USB Zip LAN

Operating system support

Name Can boot
MS-DOS Windows 9x/Me Windows NT series Windows Vista/7/8/10 Linux ReactOS MenuetOS *BSD Mac OS X
Acronis OS Selector Yes Yes Yes Yes Yes ? ? Yes Yes
AiR-BOOT Yes Yes Yes Yes Yes ? ? ? ?
AKernelLoader ? ? ? ? Yes ? ? ? ?
Barebox ? ? ? ? Yes ? ? ? ?
BOOTBOOT Yes Yes Yes Yes Yes ? ? ? ?
Boot Manager Yes Yes Yes Yes Yes ? ? ? ?
BootIt Bare Metal (formerly BootIt Next Generation) Yes Yes Yes Yes Yes ? ? ? ?
BootKey Yes Yes Yes Yes Yes ? ? ? ?
BootManager Yes Yes Calls NTLDR Calls Windows Boot Manager Calls GRUB or LILO ? ? ? ?
BootX (Apple) ? ? ? ? ? ? ? ? Yes
BootX (Linux) ? ? ? ? Yes ? ? ? ?
Clover (fork of rEFIt) ? ? Yes Yes Yes ? ? Yes Yes
Darwin Boot Loader ? ? ? ? ? ? ? Yes Yes
Das U-Boot ? ? ? ? Yes ? ? Yes (FreeBSD) ?
GAG Yes Yes Calls NTLDR Calls Windows Boot Manager Calls GRUB or LILO Calls bootloader Calls bootloader Calls bootloader No
GRUB Legacy Yes Yes Calls NTLDR Calls Windows Boot Manager Yes Calls FreeLoader Yes Yes Yes
GNU GRUB Yes Yes Calls NTLDR Calls Windows Boot Manager Yes Calls FreeLoader Yes Yes Yes
Grub2Win Yes Yes Calls NTLDR Calls Windows Boot Manager Yes ? ? Yes (FreeBSD) Calls Clover
GRUB4DOS Yes Yes Calls NTLDR Calls Windows Boot Manager Yes ? ? ? ?
Gujin Yes Yes Calls NTLDR Yes Yes ? ? ? ?
systemd-boot / Gummiboot No No Windows Server 2013 64bits with UEFI only Calls Windows Boot Manager[1] Yes ? ? UEFI only Yes[1]
iBoot ? ? ? ? ? ? ? ? Yes
LILO ? Yes Calls NTLDR Yes Yes ? ? Calls biosboot (FreeBSD, PC-BSD, ...) ?
loader(8) ? ? ? ? ? ? ? Yes (FreeBSD, TrueOS) ?
loadlin with MEMDISK No No No Yes No No ? ?
MasterBooter Yes Yes Yes Yes Yes ? ? Yes ?
NTLDR Yes Yes Yes No Calls GRUB4DOS ? ? ? Calls Darwin bootloader[2]
OSL2000 Boot Manager Yes Yes Yes Yes Calls GRUB or LILO ? ? ? ?
PLoP Bootmanager, Plop Boot Manager Six (PBM6) Yes Yes Yes Yes Calls GRUB or LILO ? ? ? ?
RedBoot Yes Yes Calls NTLDR Calls Windows Boot Manager Yes Calls FreeLoader Yes Yes Yes
rEFInd (fork of rEFIt) ? ? Yes Yes Yes ? ? Yes Yes
rEFIt (not maintained) ? ? Yes Yes Yes ? ? Yes Yes
Smart Boot Manager Yes Yes Yes ? Yes ? ? Yes ?
SPFdisk Yes Yes ? ? ? ? ? ? ?
SYSLINUX Yes Yes Calls NTLDR Calls Windows Boot Manager Yes ? Yes via mboot.c32 module ?
Tianocore EDK II No No No Yes Yes No ? Yes (FreeBSD,OpenBSD) Yes
XOSL Yes Yes Yes Yes Yes ? ? ? ?
Windows Boot Manager ? Yes Calls NTLDR Yes Calls GRUB or LILO ? ? ? ?
FreeLoader (ReactOS Boot Loader) Yes Yes Partial[3] Calls Windows Boot Manager Yes Yes ? ? ?
Name Can boot
MS-DOS Windows 9x/Me Windows NT series Windows Vista/7/8/10 Linux ReactOS MenuetOS *BSD Mac OS X

Technical information

Name Advanced command Scriptable Supported architecture Supported filesystem Supported OS Supported executable Supported protocol Supported decompression Others
GRUB Legacy Yes No x86 (PC) FAT16, FAT32, MINIX fs, Linux ext2, ext3, ext4, ReiserFS, JFS, XFS, VSTa fs, Btrfs FreeBSD, NetBSD, OpenBSD, Linux ELF TFTP gzip  
GRUB 2 Yes Yes x86 (PC, UEFI, coreboot, OLPC, Mac), IA-64, ARM (U-Boot, UEFI), PowerPC (Mac, Pegasos II, IBM), MIPS, SPARC (SPARC v9), QEMU ext2, ext3, ext4, btrfs, zfs, ufs, minix, iso9660, udf, jfs, hfs, hfs+, afs, affs, sfs, xfs, reiserfs, tar, cpio, NTFS, FAT16, FAT32 Linux (PC, mac), FreeBSD (PC), OpenBSD (PC), NetBSD (PC) Multiboot and others ? gzip, xz[4]  
LILO No No x86 (PC) indifferent ? ? ? bzip2, gzip  
loader(8) Yes Yes x86 (PC, UEFI, coreboot, OLPC, Mac), ARM (U-Boot, UEFI), MIPS, PowerPC, SPARC v9 FAT12/FAT16/FAT32/VFAT, ext2, NANDFS, ISO-9660, UFS, ZFS FreeBSD ELF TFTP, NFS gzip, bzip2  
loadlin Yes Yes x86 (PC) FAT12/FAT16/FAT32/VFAT Linux ELF ? gzip  
LOLO (Logic PD) Yes Yes ARM7, ARM9, ARM11, Cortex-A8, StrongARM, SH, ColdFire FAT16, FAT32, YAFFS1, YAFFS2 Linux, WinCE ELF, binary, BIN (WinCE), SREC TFTP ? Supported devices: MCF54xx, MCF5329, MCF5373, LLH7A400, LLH7A404, LLH79520, LLH79524, LSH7727, LSH7750, LSH7760, PXA270, PXA320, IMX31, IMX27, OMAP35xx, OMAP37xx
SYSLINUX via cmd.c32 module via lua.c32 module x86 (PC) ext2, ext3, ext4, btrfs, ufs 1/2, FAT16, FAT32, iso9660, udf, NTFS (since 4.06), ? Linux Multiboot[5] TFTP gzip, bzip2, lzo, zip, lzma, ?  
AKernelLoader No No x86 (PC) FAT32, ext2, ext3 Linux ELF, Binary ? ?  
BOOTBOOT Yes No x86-64 (PC, UEFI, El Torito CDROM, BSS Expansion ROM, UEFI Option ROM), ARM AArch64 (Raspberry Pi 3 and up), QEMU, VirtualBox, GRUB (via Multiboot) indifferent[6] Any BOOTBOOT Protocol compliant ELF64 / PE32+ ? gzip comes with a multiplatform, dependency-free bootable hybrid image creator (FOSS)
Yaboot No No PowerPC (Open Firmware) ext2, ext3, ext4, hfs Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X ? ? ?  
RedBoot Yes yes (boot only) ARM, ColdFire, H8300, x86, Freescale/Motorola 68000, MIPS, PPC, SH, SPARC, SPARCLite JFFS2 Linux, eCos ELF TFTP, serial (X-modem) gzip  
Das U-Boot Yes Yes PPC, ARM, AVR32, Blackfin, ColdFire, IXP, Leon2, m68k, MicroBlaze, MIPS, NIOS, NIOS2, PXA, x86, RISC-V, StrongARM, SH2, SH3, SH4, ... FAT12(RO), FAT16, FAT32, VFAT, ext2, ext3, ext4, jffs2, cramfs, reiserfs, yaffs2, ubifs, nfs 4_4bsd, Artos, Dell, Esix, FreeBSD, Irix, Linux, LynxOS, NCR, NetBSD, OpenBSD, pSOS, QNX, RTEMS, SCO, Solaris, SVR4, U-Boot, VXworks EFI, ELF, U-Boot image format TFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol) bzip2, gzip, lzma  
Barebox Yes Yes ARM, Blackfin, NIOS2, MIPS, x86, PPC FAT, VFAT, ext2, ext3, ext4, bpkfs, cramfs, NFS, EFI, efivarfs, ubifs Linux ELF, U-Boot image format TFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol) bzip2, gzip, lz4, xz, lzo  
kboot ? ? x86, PowerPC64 most supported by Linux Kernel (ext2, ext3, ext4, reiserfs, xfs, jfs, etc..) Linux ? HTTP, FTP, TFTP ? SSH, NFS support. kexec-based bootloader.
Runnix ? ? ? ? Linux ? ? ? kexec and SYSLINUX based bootloader.
kexec-loader No No x86 most supported by Linux Kernel (ext2, ext3, ext4, reiserfs, xfs, jfs, etc..) Linux/multiboot ? No networking gzip (for kernel modules) Kernel/multiboot module support
NTLDR No No x86 (PC) ? Windows ? ? ? default bootloader on Windows NT
TianoCore EDK II Yes Yes ARM, RISC-V, x86 FAT12, FAT16, FAT32, VFAT FreeBSD, OpenBSD, Linux, Windows EFI HTTPS UEFI UEFI reference implementation
Windows Boot Manager No No x86 (PC), ARM (only on Windows Mobile remake) NTFS Windows Vista, 7, 8, and 10 Portable Executable ? ? Successor of NTLDR; used on Vista and up.
FREELDR No No x86 (PC), ARM, PowerPC ext2, FAT12, FAT16, FAT32, ISO, NTFS,BtrFS ReactOS, Linux, Windows NT 4.0, Windows 2000, Windows XP, Windows 2003 ? ? ? clone of NTLDR
boot0 ? ? ? ? ? ? ? ? FreeBSD's master boot record
extipl ? ? ? ? ? ? ? ? IBM IPL upper compatible
Multiple Boot Manager ? ? ? ? PC DOS, MS-DOS, Windows, OS/2, Linux, FreeBSD, NetBSD, OpenBSD, BeOS, B-right/V, Solaris, OpenStep, Plan 9, EOTA[7] ? ? ?  
bootload (Technologic Systems) ? ? ARM ? Linux ? ? ? Proprietary
Name Advanced command Scriptable Supported architecture Supported filesystem Supported OS Supported executable Supported protocol Supported decompression Others

Notes

  1. Rod Smith, "Managing EFI Boot Loaders for Linux: Using gummiboot", 5 November 2012.
  2. http://wiki.osx86project.org/wiki/index.php/Chain0
  3. http://www.reactos.org/newsletter-37 - Freeloader can load Windows Server 2003 directly, as long as it is on a FAT32 partition
  4. "GNU GRUB Manual 2.02: Features".
  5. "Mboot.c32 - Syslinux Wiki". www.syslinux.org. Retrieved 2018-10-12.
  6. "BOOTBOOT Protocol: File System Drivers" (PDF).
  7. ELM - Multiple Boot Manager
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.