ФЭНДОМ


Нулевой сектор физического жёсткого диска содержит так называемую главную загрузочную запись (MBR — Master Boot Record). При начальной загрузке компьютера с жёсткого диска BIOS считывает этот сектор в оперативную память и передаёт управление содержащемуся в нём коду начального загрузчика; подробнее об этом можно прочитать в статье Начальная загрузка компьютера.

MBR логически можно разделить на три области: код начального загрузчика (446 байт), таблицу разделов (четыре записи по 16 байт каждая, первая запись находится по смещению 1BEh от начала MBR) и сигнатуру — слово со значением AA55h, занимающее последние два байта MBR (смещение 1FEh). BIOS проверяет сигнатуру, чтобы убедиться в корректности MBR; если сигнатура не равна указанному значению, загрузка не выполнения и выдаётся сообщение об ошибке. В операционных системах Microsoft серии Windows NT и их последовательницах, включая Windows Vista и Windows 7, а также в некоторых альтернативных системах длина области загрузчика сокращена до 440 байт; непосредственно за ней (со смещения 1B8h) следует четырёхбайтовая сигнатура («номер») диска и два резервных байта, обычно равных нулю.

Начальный загрузчик, находящийся в MBR, в общем случае определяет, какой из разделов диска является активным, загружает в память первый сектор этого раздела и передаёт ему управление.

Мнемоника Смещение в байтах Размер в байтах Описание
BootCode 0 440 Машинный код загрузчика. Не используется в системах, соответствующих стандарту UEFI
UniqueMBRSignature 440 / 1B8h 4 Уникальная сигнатура диска. Необязательное поле, используется операционными системами Microsoft, а также некоторыми другими. Когда сигнатура диска не используется, эти четыре байта, а также следующие за ними ещё два входят в состав кода загрузчика
Unknown 444 / 1BCh 2 Неиспользуемое поле, обычно равно нулю. Входит в состав кода загрузчика, если сигнатура диска (предыдущее поле MBR) не используется
PartitionRecord 446 / 1BEh 16*4 Таблица разделов жёсткого диска
Signature 510 / 1FEh 2 Сигнатура MBR; содержит значение 0AA55h в порядке «младший-старший»
Reserved 512 / 200h РазмерСектора-512 Оставшаяся часть сектора, если таковая имеется (секторы не обязательно имеют размер 512 байт)