WikiDer > Спецификация мультизагрузки
В Спецификация мультизагрузки является открытый стандарт описывая, как загрузчик может загрузить x86 Операционная система ядро.[1][2] Спецификация позволяет любой совместимой реализации загрузчика загружать любой совместимый Операционная система ядро. Таким образом, он позволяет различным операционным системам и загрузчикам работать вместе и взаимодействовать без необходимости использования загрузчиков для конкретных операционных систем. В результате это также упрощает сосуществование различных операционных систем на одном компьютере, что также известно как мультизагрузка.
Спецификация была первоначально создана в 1995 году и разработана Фонд свободного программного обеспечения. GNU Hurd, VMware ESXi, Xen, и Микроядра L4 все должно быть загружен используя этот метод. GNU GRUB это эталонная реализация используется в Операционная система GNU и другие операционные системы.[3] По состоянию на июль 2019 г.[Обновить], последняя версия спецификации Multiboot - 0.6.96, определенная в 2009 году.[2] Несовместимая вторая итерация с UEFI поддерживать, Спецификация Multiboot2, был представлен позже. По состоянию на апрель 2019 г.[Обновить]последняя версия Multiboot2 - 2.0, определенная в 2016 году.[4]
Технический обзор [2][4]
В то время как Multiboot определяет заголовок как структуру, которая должна присутствовать в файле изображения в целом, в Multiboot2 поля или группа полей имеют тег типа, который позволяет не включать их в заголовок Multiboot2.
В файле образа ОС заголовок должен быть в первых 8192 (2¹³) байтах для мультизагрузки и 32768 (2¹⁵) байтов для мультизагрузки2. Загрузчик ищет магический номер, чтобы найти заголовок: 0x1BADB002 для мультизагрузки и 0xE85250D6 для мультизагрузки2.
В шапке entry_addr
указывает на код, в котором управление передается ОС, что позволяет использовать различные форматы исполняемых файлов (см. Сравнение форматов исполняемых файловЕсли ядром ОС является файл ELF (Исполняемый и связываемый формат), что и для ядра Linux, для Multiboot2 это можно не указывать. Формат ELF очень распространен в мире с открытым исходным кодом и имеет собственное поле (e_entry
), содержащую точку входа.
Прежде чем перейти к точке входа в ОС, загрузчик должен предоставить информационная структура загрузки сообщить ОС, как она вышла из системы; для Multiboot это структура, а для Multiboot2 каждое поле (группа) имеет тег типа и размер.
Смотрите также
- Эль Торито (стандарт CD-ROM), для загрузки CD-ROM дисков
- Список инструментов для создания Live USB систем
- Живой USB
- Мультизагрузка
Рекомендации
- ^ Мерино Видаль, Хулио М. (1 марта 2007 г.), «Обеспечение совместимости с NetBSD с несколькими загрузками», ONLamp.com, O'Reilly Media, получено Второе октября, 2012.
- ^ а б c Форд, Брайан; Болейн, Эрих Стефан; ФСПО (2009). «Спецификация мультизагрузки» (0.6.96 ред.). GNU. Получено 2013-10-11.
- ^ «Загрузка с GRUB». OSDEV. 25 июня 2006 г. Архивировано с оригинал 28 декабря 2008 г.
- ^ а б «Спецификация Multiboot2 версии 2.0». www.gnu.org. Получено 7 апреля 2019.
внешняя ссылка
- «Мультизагрузка». OSDev Wiki.
Этот стандарты- или же измерение-связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |