Multiboot Specification is an open standard created by the Free Software Foundation .
The specification describes the interface between the kernel of the operating system and the bootloader , following which the same universal bootloader can be used to boot several different operating systems installed on the same computer, if the kernels of these operating systems support the Multiboot specification.
Content
Multiboot 1
The Multiboot specification was first created by Brian Ford and Eric Stefan Boleyn in 1995. Since then, it has been supplemented and modified several times by participants in the FSF .
Multiboot 1 cores use the magic number 0x1BADB002 in the header, and Multiboot1-compatible bootloaders use the magic number 0x2BADB002 for identification.
Multiboot 2
The new Multiboot 2 specification was created to solve a number of problems with the Multiboot1 specification. It is not backward compatible with the Multiboot1 specification, it uses other data structures and magic numbers. The main functional difference from the first version is the support of the so-called boot modules.
Multiboot 2 compatible kernels use the magic number 0xE85250D6 in the header, and Multiboot2 compatible bootloaders use the magic number 0x36D76289 for identification.
Implementations
GNU GRUB is a reference bootloader implementation that supports the Multiboot specification (both versions) used on GNU operating systems.
Examples of cores supporting this specification include OpenSolaris , GNU Hurd , NetBSD since version 4.0, and VMware and Xen virtualization systems. There are also some programs that are not complete OS kernels, but support the Multiboot specification and can be downloaded without an operating system, such as Memtest86 and GRUB Invaders .
Additional Sources
- OSDev Wiki Multiboot article
- Multiboot2 specification
- Multiboot1 specification
- Russian translation of Multiboot specification
- How to write a multi-boot kernel
- GRUB Homepage
- How to Make NetBSD Multiboot (article)
- Implementing Multiboot on NetBSD / i386 4.x (10/2006)
- More Information About Multiboot on NetBSD
- GrubWiki-list of operating systems that support multiboot
- Booting VMware with PXELINUX with multi-boot support