The following tables compare general and technical information for a number of available bootloaders.
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.
Name | 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 | ? | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
AiR-BOOT | ? | Yes | No | ? | ? | ? | ? | ? | ? | ? | ? | ? |
AKernelLoader | ? | Yes | No | Yes | Yes | Yes | Yes | ? | Yes | Yes | ? | ? |
Barebox | Yes | Yes | No | ? | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
BOOTBOOT | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | No | No |
BootIt Bare Metal | ? | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
BootKey | ? | No | No | Yes | No | No | No | Yes | Yes | Yes | No | No |
BootManager | ? | Yes | No | No | Yes | ? | ? | ? | ? | ? | ? | No |
BootX (Apple) | Yes | No | No | No | Yes | No | No | Yes | No | Yes | Yes | Yes |
BootX (Linux) | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes |
Clover | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | ? | Yes | ? | No |
Darwin Boot Loader | Yes | ? | ? | ? | Yes | Yes | ? | ? | ? | Yes | ? | ? |
Das U-Boot | Yes | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Easyboot | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes | No | No |
FreeBSD loader | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes |
GAG | ? | Yes (SafeBoot) | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
GRUB Legacy | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
GNU GRUB | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Grub2Win | Yes | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
GRUB4DOS | ? | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Gujin | ? | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
systemd-boot / Gummiboot | Yes | No | No | No | Yes | Yes | Yes | ? | ? | Yes | ? | ? |
iBoot | Yes | ? | ? | ? | Yes | ? | ? | No | ? | ? | ? | ? |
LILO | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
Limine | Yes | Yes | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes |
loadlin | ? | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MasterBooter | ? | Yes | ? | ? | Yes | Yes | Yes | ? | Yes | ? | ? | ? |
NTLDR | ? | No | Yes | Yes | Yes | ? | No | No | Yes | Yes | ? | ? |
OpenCore | Yes | Yes | ? | ? | Yes | Yes | ? | No | ? | Yes | ? | No |
OSL2000 Boot Manager | ? | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
PLoP Boot Manager | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
quibble | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? |
RedBoot | ? | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
rEFInd | Yes | No | No | No | Yes | Yes | ? | Yes | ? | Yes | ? | Yes |
rEFIt (not maintained) | Yes | No | No | No | Yes | Yes | ? | No | ? | Yes | ? | No |
Simpleboot | Yes | Yes | No | No | Yes | Yes | Yes | No | No | Yes | No | No |
Smart Boot Manager | ? | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
SPFdisk | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | ? | ? | ? |
SYSLINUX | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Tianocore EDK II | ? | No | No | No | Yes | Yes | ? | Yes | ? | Yes | No | Yes |
Windows Boot Manager | Yes | No | Yes | No | Yes | Yes | ? | Yes | Yes | Yes | Yes | ? |
XOSL | ? | No | No | Yes | Yes | Yes | Yes | Yes | ? | No | ? | No |
FreeLoader (ReactOS Boot Loader) | ? | No | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | ? |
Name | Can reside in | Can boot from | ||||||||||
ESP (UEFI) | MBR | VBR | Floppy | Hard disk | Second Hard disk | Logical partitions | CD-ROM | Floppy | USB | Zip | LAN | |
Name | Can 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 | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | Yes |
AiR-BOOT | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? |
AKernelLoader | ? | ? | ? | ? | Yes | ? | ? | ? | ? |
Barebox | ? | ? | ? | ? | Yes | ? | ? | ? | ? |
BOOTBOOT | No | Yes | Yes | Yes | Yes | ? | ? | ? | ? |
BootIt Bare Metal | 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 | ? | ? | Yes | Yes | Yes | ? | ? | Yes | Yes |
Darwin Boot Loader | ? | ? | ? | Yes | ? | ? | ? | Yes | Yes |
Das U-Boot | ? | ? | ? | ? | Yes | ? | ? | Yes (FreeBSD) | ? |
Easyboot | Yes (FreeDOS) | No | Calls NTLDR | Calls Windows Boot Manager | Yes | Yes | Yes (KolibriOS as well) | Yes (FreeBSD, OpenBSD) | No |
FreeBSD loader | ? | ? | ? | ? | ? | ? | ? | Yes (FreeBSD, TrueOS) | ? |
FreeLoader (ReactOS Boot Loader) | Yes | Yes | Partial [3] | Calls Windows Boot Manager | Yes | Yes | ? | ? | ? |
GAG | Yes | Yes | Calls NTLDR | Calls Windows Boot Manager | Calls GRUB or LILO | Calls bootloader | Calls bootloader | Calls bootloader | No |
GRUB Legacy and GRUB4DOS | Yes | Yes | Calls NTLDR | Calls Windows Boot Manager | Yes | Calls FreeLoader | Yes | Calls bootloader for some kernels | 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 |
Gujin | Yes | Yes | Calls NTLDR | Yes | Yes | ? | ? | ? | ? |
systemd-boot / Gummiboot | No | No | Windows Server 2013 64bits with UEFI only | Calls Windows Boot Manager [4] | Yes | ? | ? | UEFI only | Yes [4] |
iBoot | ? | ? | ? | ? | ? | ? | ? | ? | Yes |
LILO | ? | Yes | Calls NTLDR | Yes | Yes | ? | ? | Calls biosboot (FreeBSD, PC-BSD, ...) | ? |
loadlin | with MEMDISK | No | No | No | Yes | No | No | ? | ? |
Limine | Calls bootloader | Calls bootloader | Calls bootloader | Calls bootloader | Yes | Calls bootloader | Calls bootloader | Calls bootloader | Calls bootloader |
MasterBooter | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | ? |
NTLDR | Yes | Yes | Yes | No | Calls GRUB4DOS | ? | ? | ? | Calls Darwin bootloader [5] |
OpenCore | ? | ? | Yes | Yes | Yes | ? | ? | Yes | Yes |
OSL2000 Boot Manager | Yes | Yes | Yes | Yes | Calls GRUB or LILO | ? | ? | ? | ? |
PLoP Boot Manager | Yes | Yes | Yes | Yes | Calls GRUB or LILO | ? | ? | ? | ? |
quibble | ? | ? | ? | Yes | Yes | Yes | ? | Yes | ? |
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 |
Simpleboot | No | No | No | No | Yes | No | ? | Partial | ? |
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 |
Windows Boot Manager | ? | Yes | Calls NTLDR | Yes | Calls GRUB or LILO | ? | ? | ? | ? |
XOSL | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? |
Name | Can boot | ||||||||
MS-DOS | Windows 9x/Me | Windows NT series before Vista | Windows Vista/7/8/10 | Linux | ReactOS | MenuetOS | *BSD | Mac OS X | |
Name | FAT | 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 | Yes | Yes | Yes | ? | No | Yes | No | No | No | No | No | No | No | ? | ? |
BOOTBOOT | No | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootIt Bare Metal | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootKey | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
bootload | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootManager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootX (Apple) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootX (Linux) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Clover | ? | ? | Yes | Yes | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? |
Darwin Boot Loader | ? | ? | Yes | ? | ? | ? | ? | Yes | Yes | ? | ? | ? | ? | ? | ? |
Das U-Boot | Yes | Yes | Yes | ? | ? | Yes | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
Easyboot | No | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? |
extipl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
FreeLoader (ReactOS) | Yes | Yes | Yes | ? | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
GAG | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GNU GRUB 2 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ? | ? |
GRUB Legacy | Yes | Yes | Yes | No | Yes | Yes | No | No | No | No | No | No | No | ? | ? |
Grub2Win | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GRUB4DOS | Yes | Yes | Yes | No | Yes | Yes | No | No | No | No | No | No | No | ? | ? |
Gujin | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
systemd-boot / Gummiboot | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
iBoot | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
LILO | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Limine | Yes | Yes | Yes | No | No | Yes | No | No | No | No | No | No | No | No | No |
loader (FreeBSD) | Yes | Yes | Yes | ? | ? | Yes | ? | ? | ? | ? | ? | Yes | ? | ? | ? |
loadlin | Yes | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No |
LOLO | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes | Yes |
MasterBooter | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Multiple Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
NTLDR | ? | Yes | Yes | ? | ? | No | No | No | No | No | No | No | No | ? | ? |
OpenCore | ? | Yes | Yes | Yes | ? | ? | ? | Yes | Yes | ? | ? | ? | ? | ? | ? |
OSL2000 Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PLoP Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
quibble | ? | ? | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
RedBoot | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
rEFInd | Yes [lower-alpha 1] | ? | ? | Yes [lower-alpha 2] | Yes [lower-alpha 2] | ? | ? | ? | ? | ? | ? | ? | ? | ||
rEFIt | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Simpleboot | No | No | Yes | No | No | No | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Smart Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
SPFdisk | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Syslinux | Yes | Yes | Yes | No | No | Yes | Yes | No | No | No | No | No | No | ? | ? |
Tianocore EDK II | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Windows Boot Manager | ? | ? | Yes | Yes | ? | ? | ? | No | No | ? | ? | ? | ? | ? | ? |
XOSL | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
yaboot | ? | ? | ? | ? | ? | Yes | ? | Yes | ? | ? | ? | ? | ? | ? | ? |
Name | NTFS | ext3 | ext4 | ReiserFS | Reiser4 | JFS | XFS | UFS | UDF | HFS+ | BeFS | AFS | SFS | UBIFS | JFFS2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Acronis OS Selector | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
AiR-BOOT | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
AKernelLoader | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Barebox | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | Yes | Yes |
BOOTBOOT | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootIt Bare Metal | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootKey | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
bootload | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootManager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootX (Apple) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
BootX (Linux) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Clover | Yes | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
Darwin Boot Loader | Yes | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
Das U-Boot | ? | Yes | Yes | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | ? | Yes | Yes |
extipl | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
FreeLoader (ReactOS) | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GAG | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GNU GRUB 2 | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? |
GRUB Legacy | No | Yes | patch [lower-alpha 1] | Yes [lower-alpha 2] | No | Yes [lower-alpha 2] | Yes [lower-alpha 2] | Yes [lower-alpha 2] | No | No | No | No | No | No | No |
Grub2Win | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
GRUB4DOS | Yes | Yes | Yes | Yes [lower-alpha 2] | No | Yes [lower-alpha 2] | Yes [lower-alpha 2] | Yes [lower-alpha 2] | ? | ? | ? | ? | ? | ? | ? |
Gujin | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
systemd-boot / Gummiboot | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
iBoot | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
LILO | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Limine | No | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No |
loader (FreeBSD) | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
loadlin | Yes [lower-alpha 3] | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
LOLO | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
MasterBooter | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Multiple Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
NTLDR | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
OpenCore | Yes | ? | ? | ? | ? | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? |
OSL2000 Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
PLoP Boot Manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
quibble | Yes | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
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 | Yes | Yes | Partial [lower-alpha 5] | No | No | No | Yes | Yes | Yes | No | No | No | No | No | No |
Tianocore EDK II | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Windows Boot Manager | Yes | No | No | No | No | No | No | No | ? | No | No | No | No | No | No |
XOSL | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
yaboot | ? | Yes | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Name | cpio | tar | ISO 9660 | romfs | SquashFS | cramfs |
---|---|---|---|---|---|---|
Acronis OS Selector | ? | ? | ? | ? | ? | ? |
AiR-BOOT | ? | ? | ? | ? | ? | ? |
AKernelLoader | ? | ? | ? | ? | ? | ? |
Barebox | ? | ? | ? | ? | Yes [lower-alpha 1] | Yes |
BOOTBOOT | Yes | Yes | Yes | Yes | No | No |
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 | Yes | Yes | Yes | Yes | Yes | ? |
GRUB Legacy | ? | ? | Yes [lower-alpha 3] | ? | ? | ? |
Grub2Win | ? | ? | ? | ? | ? | ? |
GRUB4DOS | ? | ? | Yes [lower-alpha 3] | ? | ? | ? |
Gujin | ? | ? | ? | ? | ? | ? |
systemd-boot / Gummiboot | ? | ? | ? | ? | ? | ? |
iBoot | ? | ? | ? | ? | ? | ? |
LILO | ? | ? | ? | ? | ? | ? |
Limine | No | No | Yes | No | No | No |
loader (FreeBSD) | ? | ? | ? | ? | ? | ? |
loadlin | No | No | Yes [lower-alpha 4] | ? | ? | ? |
LOLO | ? | ? | ? | ? | ? | ? |
MasterBooter | ? | ? | ? | ? | ? | ? |
Multiple Boot Manager | ? | ? | ? | ? | ? | ? |
NTLDR | ? | ? | ? | ? | ? | ? |
OpenCore | ? | ? | ? | ? | ? | ? |
OSL2000 Boot Manager | ? | ? | ? | ? | ? | ? |
PLoP Boot Manager | ? | ? | ? | ? | ? | ? |
RedBoot | ? | ? | ? | ? | ? | ? |
rEFInd | ? | ? | Yes [lower-alpha 5] | ? | ? | ? |
rEFIt | ? | ? | ? | ? | ? | ? |
Simpleboot | Yes | Yes | No | Yes | Yes | Yes |
Smart Boot Manager | ? | ? | ? | ? | ? | ? |
SPFdisk | ? | ? | ? | ? | ? | ? |
Syslinux | ? | ? | Yes | ? | ? | ? |
Tianocore EDK II | ? | ? | ? | ? | ? | ? |
Windows Boot Manager | No | No | Yes | No | No | No |
XOSL | ? | ? | ? | ? | ? | ? |
yaboot | ? | ? | ? | ? | ? | ? |
Name | Advanced command | Scriptable | Supported architecture | Supported executable | Supported protocol | Supported decompression | Others |
---|---|---|---|---|---|---|---|
GRUB Legacy | Yes | No | x86 (PC) | Multiboot 1, Linux zImage, Linux bzImage and others | TFTP | gzip | |
GRUB 2 | Yes | Yes | x86 (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 | No | No | x86 (PC) | Linux zImage, Linux bzImage | ? | bzip2, gzip | |
loader (FreeBSD) | Yes | Yes | 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) [9] | TFTP, NFS | gzip, bzip2 | |
loadlin | No | No | x86 (PC) | Linux zImage, Linux bzImage | ? | gzip | |
LOLO (Logic PD) | Yes | Yes | ARM7, ARM9, ARM11, Cortex-A8, StrongARM, SH, ColdFire | 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) | Linux zImage, Linux bzImage, [10] Multiboot, [11] MBR image [12] | TFTP | gzip, bzip2, lzo, zip, lzma, ? | |
AKernelLoader | No | No | x86 (PC) | 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) | ELF64 / PE32+ | serial | gzip | comes with a multiplatform, dependency-free bootable hybrid image creator (FOSS) |
Easyboot | Yes | No | x86-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 | ? | gzip | comes 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 | No | No | PowerPC (Open Firmware) | Linux ELF image | TFTP | No | |
RedBoot | Yes | yes (boot only) | ARM, ColdFire, H8300, x86, Freescale/Motorola 68000, MIPS, PowerPC, SH, SPARC, SPARCLite | ELF | TFTP, serial (X-modem) | gzip | |
Das U-Boot | Yes | Yes | PowerPC, 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, raw | TFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol) | bzip2, gzip, lzma | |
Barebox | Yes | Yes | ARM, Blackfin, NIOS2, MIPS, x86, PowerPC | ELF, U-Boot image format | TFTP, NFS, serial (S-Record, Y-Modem, Kermit binary protocol) | bzip2, gzip, lz4, xz, lzo | |
Linux kexec | Depending on user space | Depending on user space | x86, ARM, ARM64, PowerPC, PowerPC 64, IA-64, IBM Z, RISC-V [13] | Linux bzImage, Multiboot, other ELF image | Depending on configuration and user space | — | The kexec system call can start another kernel, replacing the current running Linux, thus turning a Linux-based operating system into a fancy bootloader. |
NTLDR | No | No | x86 (PC) | Windows NT kernel image (PE), MBR image | ? | ? | default bootloader on Windows NT |
Simpleboot | Yes | No | x86-64 (PC, UEFI) | Linux zImage, Linux bzImage, ELF32 / ELF64 / COFF / PE32+ with Multiboot2 | ? | any | comes with a multiplatform, dependency-free image creator (FOSS), supports 64-bit higher-half kernels with Multiboot2 |
TianoCore EDK II | Yes | Yes | ARM, RISC-V, x86 | EFI | HTTPS | ? | UEFI reference implementation |
Windows Boot Manager | No | No | x86 (PC), ARM (only on Windows Mobile remake) | Portable Executable | ? | ? | Successor of NTLDR; used on Vista and up. |
FreeLoader (ReactOS) | No | No | x86 (PC), ARM, PowerPC | ? | ? | ? | clone of NTLDR |
extipl | ? | ? | ? | ? | ? | ? | IBM IPL upper compatible |
Multiple Boot Manager | ? | ? | ? | ? | ? | ? | |
bootload (Technologic Systems) | ? | ? | ARM | ? | ? | ? | Proprietary |
Limine | Yes | No | x86 (PC, UEFI), ARM | Multiboot 1 and 2, Stivale 1 and 2, Linux zImage and bzImage | TFTP | gzip | |
wolfBoot | No | No | ARM, RISC-V, PowerPC, x86 | Binary, ELF32/ELF64, Multiboot2 | No | No | Open-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 |
Name | Advanced command | Scriptable | Supported architecture | Supported executable | Supported protocol | Supported decompression | Others |
Since we have copied the Linux kernel code and the Linux kernel follows GPL2, so only GPL2 is adoptable and it rules here.
If you enabled the network support, the special drives (protocol[,server]) are also available. Supported protocols are 'http' and 'tftp'.
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'.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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 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.