Введение

Общее понятие загрузочных секторов. Сектор постоянного устройства хранения данных.

Загрузочный сектор – это сектор постоянного устройства хранения данных (например, жесткого диска, дискеты, оптического диска и т. д.), содержащий машинный код, который загружается в оперативную память (RAM) и затем выполняется встроенной прошивкой компьютерной системы (например, BIOS). Как правило, первым сектором жесткого диска является загрузочный сектор, независимо от размера сектора (512 или 4096 байт) и схемы разбиения на разделы (MBR или GPT). Цель определения конкретного сектора в качестве загрузочного – обеспечение совместимости между прошивкой и различными операционными системами. Принцип последовательной загрузки – сначала прошивки (например, BIOS), затем кода, содержащегося в загрузочном секторе, а после – например, операционной системы – обеспечивает максимальную гибкость.

IBM PC и совместимые компьютеры

На компьютере, совместимом с IBM PC, BIOS выбирает загрузочное устройство, а затем копирует первый сектор с этого устройства (который может быть MBR, VBR или любой исполняемый код) в физическую память по адресу 0x7C00. На других системах этот процесс может существенно отличаться.

Единый расширяемый интерфейс прошивки (UEFI)

UEFI (не загрузка в устаревшем режиме через CSM) не использует загрузочные секторы, а система UEFI загружает загрузчик (EFI-приложение на USB-накопителе или в системном разделе EFI) напрямую. Кроме того, спецификация UEFI включает в себя функцию "безопасная загрузка", которая, по сути, требует цифровой подписи кода UEFI.

Повреждение багажного отдела

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

Операция

На компьютерах, совместимых с IBM PC, BIOS не различает VBR и MBR, а также не учитывает разбиение на разделы. Прошивка просто загружает и запускает первый сектор устройства хранения. Если это дискета или USB-флеш-накопитель, то это будет VBR. Если это жесткий диск, то это будет MBR. Именно код в MBR обычно понимает структуру разделов диска и, в свою очередь, отвечает за загрузку и запуск VBR того первичного раздела, который установлен как загрузочный (активный раздел). Затем VBR загружает загрузчик второго этапа из другого места на диске. Более того, содержимое первого сектора дискеты, USB-устройства, жесткого диска или любого другого загрузочного устройства хранения не обязано немедленно загружать какой-либо загрузочный код операционной системы, даже если это необходимо. BIOS просто передает управление тому коду, который там находится, при условии, что сектор соответствует простому требованию – наличию сигнатуры загрузочного сектора 0x55, 0xAA в его последних двух байтах. Именно поэтому обычный загрузочный код, находящийся в MBR, легко заменить более сложными загрузчиками, даже крупными многофункциональными менеджерами загрузки (программами, хранящимися в другом месте на устройстве и способными работать без операционной системы), предоставляя пользователям выбор дальнейших действий. Эта свобода часто используется злоумышленниками в виде вирусов загрузочного сектора.