Что делает загрузочный носитель загрузочным?

Что делает загрузочный носитель загрузочным?

Из любопытства, что делает носитель загрузочным? Ссылки на объяснения были бы приветствуются.

решение1

Возможно, некоторые подробности об организации загрузочных носителей помогут определить, «что делает загрузочный носитель загрузочным».

Процедура загрузки различается в зависимости от архитектуры, поэтому я буду придерживаться стандартного ПК (т. е. архитектуры x86).

Во-первых, для эффективной "загрузки" носитель должен быть выбран BIOS после самотестирования при включении питания (POST). Для этого носитель должен бытьотмечен как загрузочный, что означает, что он должен иметь загрузочную подпись в своем первом секторе. Это самое первое, что делает носитель загрузочным.

Затем BIOS загружается и дает доступ к этому загрузочному сектору (что бы там ни хранилось... так что это вполне может быть подходящая программа реального режима, но давайте придерживаться "нормальной" схемы). Итак, чтобы быть загрузочным, носитель должен иметь такую ​​функциюзагрузочный сектор.

Если носитель разбит на разделы, то в этом секторе устанавливается Master Boot Record (MBR). Этот код будет отвечать за проверку таблицы разделов и поиск раздела сустановлен загрузочный флаг. Затем MBR загрузит первый сектор этого раздела, который содержит то, что называется Volume Boot Record (VBR). Обратите внимание, что в случае неразмеченного носителя VBR находится в первом секторе носителя и поэтому напрямую вызывается BIOS.

VBR содержитпрограмма самозагрузки. Эта программа должна инициализировать машину (т. е. активировать расширенную память через A20 Gate, переключиться из реального режима в защищенный и т. д.), чтобы настроить среду, подходящую для запуска "современного" кода, загрузить этот код в память и затем "перейти" к нему. Вышеупомянутый код может быть либо ядром ОС в случае программы-загрузчика, либо мультизагрузочной системой (например, GRUB, LILO) в случае цепочной загрузки. Так или иначе, в конце концов, для загрузки носителя необходим какой-то исполняемый код для запуска.

Дальнейшее (например, распаковка ядра, начальное монтирование ramdisk, загрузка модулей в случае гибридных ядер или запуск серверов для микроядер и т. д.) не является строго значимым с точки зрения организации загрузочного носителя.

Примечание: Я описал процесс для жестких дисков и дискет. Однако случай с компакт-дисками очень похож. Кроме того, чтобы быть загрузочным, компакт-диск должен соответствовать спецификации El-Torito, которая является расширением стандарта ISO9660. Первоначально требовалось, чтобы компакт-диск содержал загрузочный образ дискеты (то есть фактически образ размером 1,44 МБ), который BIOS воспринимал как дискету и загружался соответствующим образом. Более современное оборудование позволяет производить загрузку напрямую без этого обходного пути.

решение2

Что делает загрузочный носитель загрузочным?

  • стандарты для загрузочных носителей, которые определяют такие вещи, как:
    • аппаратная платформа, для которой применим загрузчик.
    • расположение на носителе программного обеспечения загрузчика.
    • процесс, посредством которого будет загружено это программное обеспечение.
  • реализация этих стандартов в оборудовании, к которому подключаются носители.

В Википедии естьстатьяописывающий процесс загрузки.

Связанный контент