Interested Article - Multiboot Specification

Multiboot Specification (Спецификация мультизагрузки) — открытый стандарт , созданный Фондом свободного программного обеспечения .

Спецификация описывает интерфейс между ядром операционной системы и загрузчиком , следуя которому, один и тот же универсальный загрузчик может применяться для загрузки нескольких разных операционных систем, установленных на одном и том же компьютере, если ядра этих ОС поддерживают спецификацию Multiboot.

Multiboot 1

Впервые спецификация Multiboot была создана Брайаном Фордом и Эриком Стефаном Болейном в 1995 году. С тех пор она несколько раз дополнялась и изменялась участниками ФСПО .

Multiboot 1 ядра используют магическое число 0x1BADB002 в заголовке, а Multiboot1-совместимые загрузчики используют для идентификации магическое число 0x2BADB002.

Multiboot 2

Новая спецификация Multiboot 2 была создана, чтобы решить ряд проблем спецификации Multiboot1. Она не является обратно совместимой со спецификацией Multiboot1, использует другие структуры данных и магические числа. Основное функциональное отличие от первой версии заключается в поддержке так называемых загрузочных модулей.

Multiboot 2 совместимые ядра используют магическое число 0xE85250D6 в загловке, а Multiboot2-совместимые загрузчики используют для идентификации магическое число 0x36D76289.

Реализации

GNU GRUB эталонная реализация загрузчика, поддерживающего спецификацию Multiboot (обе версии), используемая в операционных системах GNU .

Среди примеров ядер, поддерживающих эту спецификацию — OpenSolaris , GNU Hurd , NetBSD начиная с версии 4.0, а также системы виртуализации VMware и Xen . Существуют также некоторые программы, которые не являются полноценными ядрами ОС, но поддерживают спецификацию Multiboot и могут быть загружены без операционной системы, например Memtest86 и .

Дополнительные источники

Источник —

Same as Multiboot Specification