Хорошо

Что находится в 1-м секторе MBR

Последний ответ июн 29, 2022 13:03:06 163 4 9 0 1


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


Наглядно первые 512 байта в сегменте диска выглядят так.

sector


Почему именно 512 байта? Потому что размер каждого сектора составляет 512 байтов.


1-й сектор (сектор 0) вашего жесткого диска называется MBR (главная загрузочная запись). После включения системы первым запускается код из BIOS (базовая система ввода-вывода). Затем выполнение переходит к вашему сектору MBR, который загружается в память вашим BIOS. Код в MBR анализирует и проверяет ваши разделы и передает управление вашему коду загрузчика. Ваш загрузчик может быть расположен в тех же начальных секторах жесткого диска или в каком-либо томе раздела (называемом загрузчиком тома) в MBR.


Где мой MBR?

MBR — это первый сектор вашего жесткого диска, который присутствует в виде файла в /dev/случае Linux или macOS. Размер сектора может быть 512 байт (чаще всего) или 4 КБ (редко).

Давайте попробуем просмотреть необработанные данные вашей MBR в Linux. Обычно /dev/sda это жесткий диск в Linux, но вы можете проверить sdb, sdc, если вас интересует MBR какого-либо другого диска или внешнего накопителя.


mbr


Мы использовали xxd утилиту для просмотра шестнадцатеричного дампа или как обычно называют HEX, /dev/sda в котором первые 0x1ff(512) байт являются данными MBR.


Вы можете просмотреть те же данные в Windows, используя шестнадцатеричный редактор HXD. Ниже приведен скриншот этого.


hex


Нашел интересную шпаргалку, где можно максимально наглядно увидеть назначение определенных записей.


mbr


 Вернемся к нашей таблице.


Как интерпретировать данные MBR?

Давайте попробуем понять, какую информацию содержат эти 512 байт данных.

mbr


0x0 -0x1B7-> Область кода MBR (440 байт)

0x1B8-0x1BB-> 32-битная подпись диска (дополнительно 4 байта)
0x1BC-0X1BD-> 0x0000 или 0x5A5A (2 байта) обычно нужны GRUB для резервирования
0x1BE-0x1FD-> Записи разделов (64 байта)

0x1FE-0x1FF-> Подпись MBR 0X55AA (2 байта)


Область кода MBR. Код, находящийся в MBR, ограничен по размеру, поэтому мало что делает. Обычно он имеет EB байт в начале, который соответствует jmp инструкция. Дальнейшая его работа заключается в том, чтобы проанализировать записи раздела и определить, являются ли они действительными. Затем он ищет раздел с включенным флагом BOOT и переходит к коду загрузчика. Код MBR зависит от разных загрузчиков. Существуют альтернативные реализации загрузочного кода, некоторые из которых устанавливаются менеджерами загрузки, которые работают по-разному. Некоторый код MBR загружает дополнительный код для диспетчера загрузки с первой дорожки диска, которую он считает «свободным» пространством, не выделенным ни для одного раздела диска, и выполняет его. Программа MBR может взаимодействовать с пользователем, чтобы определить, какой раздел с какого диска должен загружаться, и может передать управление MBR другого диска. Другой код MBR содержит список местоположений на диске (часто соответствующих содержимому файлов в файловой системе) остальной части кода менеджера загрузки для загрузки и выполнения. Первый основан на принципе, которое не является универсальным для всех утилит для разметки диска, особенно для тех, которые читают и записывают GPT. 


32-битная подпись диска — это подпись для уникальной ID жесткого диска. Ваш BIOS сопоставляет этот код, чтобы определить, соответствует ли код MBR правильному жесткому диску или нет. Его можно использовать, если к вашей системе подключено несколько дисков.


Подпись MBR . Каждая MBR имеет байты 0x55AA в конце сектора, которые идентифицируют, что сектор является MBR.


Записи разделов — есть четыре записи раздела по 16 байт в конце MBR перед подписью MBR.


mbr

Давайте разобьем эти 16 байт записи раздела на типы хранимых данных.

0x0- Флаг загрузки (0x80 - загрузочный | 0x00 - незагрузочный | 0x01-0x07 - неверный)
0x01-0x03- CHS-адрес начала раздела на жестком диске
0x04- Тип раздела
0x05-0x07- CHS-адрес конца раздела на жестком диске
0x08-0x0B- LBA первого сектора in the partition
0x0C-0x0F- Количество секторов в разделе


disk


Флаг загрузки — это первый байт, который может быть равен 0x80 или 0x00, если раздел действителен. В основном байт раздела имеет значение 0x80, когда этот раздел содержит код загрузчика.


Адрес CHS (Cylinder-head-sector) — это старый метод адресации, используемый для присвоения адресов каждому физическому блоку данных на жестком диске. Он не используется текущей программой из-за ограничения максимального поддерживаемого размера. Он существует только для целей обратной совместимости со старыми накопителями.


ID раздела или ID файловой системы описывают, какой тип файловой системы имеет раздел. 


LBA  — это новейшая схема, используемая для поиска блоков данных. 


Итак, это все детали MBR, которые используются вашей ОС и другими инструментами управления дисками. Эта схема разделов четко показывает ограничение доступности только 4 разделов. Вот почему у нас есть то, что называется расширенной схемой разделов EBR. В последних ОС также представлена схема разделов GPT, которая убирает это ограничение хранения записи раздела в MBR и позволяет иметь большое количество разделов.



Пост синхронизирован: Мастерская СХД HIGHLIGHTS лента

  • x

kalula
Опубликовано 2022-6-29 12:08:55
Вы немного приоткрыли завесу тайны про hex таблицы разметок. Всегда тайком смотрел но боялся вникать.
Развернуть
  • x

nomad1
Опубликовано 2022-6-29 12:36:46
а ларчик просто открывался Что находится в 1-м секторе MBR-5022595-1
Развернуть
  • x

s_nooze
Опубликовано 2022-6-29 13:03:06
О! Тут же должна быть мистическая история про тайну адреса 0x7C00!!!
Развернуть
  • x

yasen01
yasen01 Опубликовано 2022-6-29 16:20 (0) (0)
какая может быть там тайна? просто издавна принято располагать основную загрузочную запись в конце блока.  

Комментарий

Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация
Отправить

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Пользовательское соглашение.”

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

Заблокировать
Вы уверены, что хотите заблокировать этого пользователя?
Пользователи из вашего черного списка не могут комментировать ваши посты, не могут упоминать вас, не могут отправлять личные сообщения.
Напоминание
Пожалуйста, привяжите свой мобильный номер чтобы получить бонус за приглашение.
О защите информации
Благодарим за использование Huawei ICT Club! Мы хотим рассказать вам о том, как мы собираем, используем и храним ваши данные. Пожалуйста, внимательно ознакомьтесь с Политикой конфиденциальности и Пользовательским соглашением.