Как отличить MBR от защитного MBR по сырым байтам: подробный гид

Если вы работаете с дисками или восстанавливаете данные, рано или поздно столкнётесь с необходимостью определить тип загрузочной записи. Это критически важно, например, при переходе с 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 с типом EE

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

Обычный 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. Для наглядности:

Пример разбора сырых байтов MBR
Разбор записей: два активных раздела вместо одного EE

Типичные ошибки и как их избежать

Даже зная теорию, можно ошибиться. Вот частые проблемы:

  • Неправильное смещение. Таблица разделов начинается не с 0, а с 0x1BE. Используйте HEX-редакторы с подсветкой структур (например, HxD или WinHex).
  • Путаница с типами разделов. Тип EE – только для защитного MBR, а EF – это уже EFI-раздел в GPT.
  • Игнорирование LBA. В защитном MBR раздел должен охватывать весь диск (обычно до сектора 0xFFFFFFFF).

Кстати, если видите несколько разделов с перекрывающимися LBA – это признак повреждения MBR. В таком случае лучше проверить диск утилитами вроде testdisk.

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

Теперь вы сможете не только отличать MBR от защитного, но и понимать, какие разделы содержит диск, даже без специального ПО. Для тренировки попробуйте проанализировать дампы из примеров выше – это закрепит навык.

Добавить комментарий

Все поля обязательны к заполнению. Ваш адрес email не будет виден никому.

Новое
Интересное