Ответы:
Возможно, некоторые подробности о том, как организован загрузочный носитель, могут помочь определить, «что делает загрузочный носитель загрузочным».
Процедура загрузки отличается в зависимости от архитектуры, поэтому я просто придерживаюсь стандартного ПК (то есть архитектуры x86).
Во-первых, чтобы эффективно «загрузиться», среда должна быть выбрана BIOS после последующего самотестирования при включении (POST). Чтобы это произошло, носитель должен быть помечен как загрузочный , что означает, что он должен иметь загрузочную подпись в своем первом секторе. Это самое первое, что делает загрузочную среду средней.
Затем BIOS загружается и передает руку этому загрузочному сектору (что бы там ни хранилось ... так что это вполне может быть подходящей программой реального режима, но давайте придерживаться "нормальной" схемы). Итак, чтобы быть загрузочным, носитель должен иметь такой работающий загрузочный сектор .
Если носитель разделен на разделы, в этом секторе устанавливается основная загрузочная запись (MBR). Этот код будет отвечать за проверку таблицы разделов и поиск раздела с установленным флагом загрузки . Затем MBR загрузит первый сектор этого раздела, который содержит то, что называется Volume Boot Record (VBR). Обратите внимание, что в случае неразделенного носителя VBR расположен в первом секторе носителя и, следовательно, напрямую вызывается BIOS.
VBR содержит программу начальной загрузки . Эта программа должна инициализировать машину (т.е. активировать расширенную память через шлюз A20, переключиться из реального режима в защищенный режим и т. Д.), Чтобы установить среду, подходящую для запуска «современного» кода, загрузить этот код в память и затем выполнить «переход» "к нему. Вышеупомянутый код может быть либо ядром ОС в случае программы загрузчика, либо системой мультизагрузки (например, GRUB, LILO) в случае загрузки по цепочке. В любом случае, в конце концов, для загрузки носителя необходим исполняемый код.
То, что следует (например, распаковка ядра, первоначальное монтирование ramdisk, загрузка модулей в случае гибридных ядер или серверов, запускающихся для микроядер и т. Д.), Не является строго релевантным с точки зрения организации загрузочных носителей.
Примечание: я описал процесс для жестких дисков и дискет. Случай с компакт-дисками очень похож, хотя. Кроме того, чтобы быть загрузочным, компакт-диск должен соответствовать спецификации El-Torito, которая является расширением стандарта ISO9660. Первоначально компакт-диск должен был содержать образ загрузочной дискеты (т.е. фактически образ 1,44 МБ), который BIOS считал дискетой и соответственно загружался. Более свежее оборудование позволяет загружаться напрямую без этого обходного пути.
Что делает загрузочный носитель загрузочным
В Wikepedia есть статья, которая описывает процесс загрузки.