Если вы работаете с дисками или восстанавливаете данные, рано или поздно столкнётесь с необходимостью определить тип загрузочной записи. Это критически важно, например, при переходе с MBR на GPT или при диагностике повреждённых носителей. Сегодня я покажу, как по сырым байтам отличить классический MBR от защитного (protective MBR), который используется в GPT-дисках для совместимости. Не пугайтесь терминов – даже новичок разберётся, если внимательно читать.
Структура MBR и защитного MBR
Основная загрузочная запись (MBR) всегда занимает первые 512 байт диска. Её структура включает:
- Код загрузчика (446 байт)
- Таблицу разделов (4 записи по 16 байт)
- Сигнатуру
55 AA
(последние 2 байта)
Защитный MBR – это специальная запись в GPT-дисках, чтобы старые системы не воспринимали диск как пустой. Его главная особенность:
В таблице разделов будет только одна запись типа
EE
, которая “занимает” весь диск (от сектора 1 до максимального значения LBA).
Для сравнения, обычный MBR содержит актуальные разделы (например, 83
для Linux Ext или 07
для NTFS/exFAT). Вот как это выглядит визуально:
Защитный MBR: единственный раздел типа EE

Обычный MBR: несколько разделов разных типов

Пошаговый анализ сырых байтов
Допустим, у вас есть дамп первых 512 байт. Вот как его расшифровать:
1. Проверьте сигнатуру 55 AA
(последние 2 байта). Если её нет – это не MBR.
2. Перейдите к таблице разделов – она начинается с 447-го байта (0x1BE в шестнадцатеричной системе).
3. Анализируйте записи:
- Каждая запись занимает 16 байт.
- Байты 4-7 – тип раздела (например,
EE
или83
). - Байты 8-11 и 12-15 – начальный и конечный LBA.
Вот фрагмент, например:
...0000000069d0e83000000020210083fec2ff...
Обратите внимание на значения:
83
— тип первого раздела (ExtFS)07
— тип второго (exFAT/NTFS)
Это явно обычный MBR, так как защитный содержит только одну запись EE
. Для наглядности:
Разбор записей: два активных раздела вместо одного EE
Типичные ошибки и как их избежать
Даже зная теорию, можно ошибиться. Вот частые проблемы:
- Неправильное смещение. Таблица разделов начинается не с 0, а с
0x1BE
. Используйте HEX-редакторы с подсветкой структур (например, HxD или WinHex). - Путаница с типами разделов. Тип
EE
– только для защитного MBR, аEF
– это уже EFI-раздел в GPT. - Игнорирование LBA. В защитном MBR раздел должен охватывать весь диск (обычно до сектора
0xFFFFFFFF
).
Кстати, если видите несколько разделов с перекрывающимися LBA – это признак повреждения MBR. В таком случае лучше проверить диск утилитами вроде testdisk
.
Важно: Защитный MBR не содержит реальных разделов – его единственная задача сообщить старым системам, что диск уже используется.
Теперь вы сможете не только отличать MBR от защитного, но и понимать, какие разделы содержит диск, даже без специального ПО. Для тренировки попробуйте проанализировать дампы из примеров выше – это закрепит навык.