Рейтинг:1

Есть ли какой-либо полный документ RFC для формата MBR (основная загрузочная запись) - лучше с пояснениями?

флаг gd

Я разрабатываю код, перечисляющий разделы в системе. Читая многочисленные документы, я не могу составить полный и определенный список ограничений для алгоритма и выяснить, почему ограничения существуют.

  • Корневая MBR имеет 4 записи, поэтому MBR может содержать 4 основных раздела;
  • В этом списке корневых MBR может быть только один расширенный раздел, который затем сводится к вторичным MBR с логическими томами.

Вопросы:

  1. Почему DOS 6.22 FDISK не позволяет создать 3 первичных раздела, а только один?
  2. Почему вторичная MBR в расширенной цепочке разделов должна иметь только один логический том, а может иметь 3 (сохранение 2 дополнительных ссылок для расширенного списка разделов)?
  3. Когда расширенный раздел был проверен на наличие логических дисков до конца цепочки, возвращается ли перечисление обратно к корневой MBR и продолжается ли следующая запись после записи расширенного раздела? Почему бы нет?
  4. Что произойдет с ОС DOS или Windows, если они обнаружат, что записи MBR не соответствуют ограничениям (см. вопросы с 1 по 3 выше)? Другими словами, есть ли какое-либо описание процесса нумерации операционной системой их разделов/логических дисков?
Рейтинг:1
флаг in

Основная загрузочная запись — это тип загрузочного сектора, используемый в системах, совместимых с IBM PC. Первоначальная версия MBR была написана Дэвидом Литтоном из IBM в июне 1982 года и публично представлена ​​в 1983 году вместе с PC-DOS 2.0. Однако в PC-DOS реализованы только самые важные функции, а не все.

Ближе всего к "спецификации" (я знаю) https://thestarman.pcministry.com/asm/mbr/STDMBR.htm

Структура MBR выглядит следующим образом:

шестнадцатеричный адрес (dec) размер функция
0x0000 (0) 440 загрузчик
0x01B8 (440) 4 подпись диска (начиная с семейства Windows NT)
0x01BC и 0x01BC (444 и 445) 2 ноль (0x0000)
0x01BE (446) 64 таблица разделов
0x01FE и 0x01FF (510 и 511) 2 подпись
общее количество 512

Ответы:

  1. Почему DOS 6.22 FDISK не позволяет создать 3 первичных раздела, а только один?

Поддержка разделенных носителей была введена в IBM PC DOS 2.0 в марте 1983 года, но в то время поддерживался только один основной раздел. Это никогда не менялось. сама ДОС никогда используется более одного основного раздела. Как следствие, ФДИСК нельзя создать более одного основного раздела.

  1. Почему вторичная MBR в расширенной цепочке разделов должна иметь только один логический том, а может иметь 3 (сохранение 2 дополнительных ссылок для расширенного списка разделов)?

Не совсем уверен, что именно вы имеете в виду под «вторичной MBR», поэтому в конечном итоге следующее не отвечает на ваш вопрос. (Пожалуйста, обращаться осторожно!)

Поддержка расширенного раздела была добавлена ​​в DOS 3.2. Вложенные логические диски внутри расширенного раздела появились в DOS 3.30.

Каждая расширенная таблица разделов определяет ровно один логический раздел и при необходимости указывает на следующую расширенную таблицу разделов. Другими словами - расширенные таблицы разделов работают по принципу цепочечного списка. Его начальный сектор указывается относительно позиции текущей таблицы разделов. Вторая запись может содержать конкатенацию с другой расширенной таблицей разделов и всегда имеет тип 5. В начальном секторе этой записи всегда ссылаются относительно сектора первого расширенного раздела. Поскольку он связан по определению, вы не можете ссылаться на все расширенные разделы, поэтому вы не можете сохранить 2 дополнительные ссылки.

  1. Когда расширенный раздел был проверен на наличие логических дисков до конца цепочки, возвращается ли перечисление обратно к корневой MBR и продолжается ли следующая запись после записи расширенного раздела? Почему бы нет?

Нет. Поскольку нет такого понятия, как «следующая запись».

  1. Что произойдет с ОС DOS или Windows, если они обнаружат, что записи MBR не соответствуют ограничениям (см. вопросы с 1 по 3 выше)? Другими словами, есть ли какое-либо описание процесса нумерации операционной системой их разделов/логических дисков?

Если разделы не распознаются, то они не используются. Если первый первичный раздел не может быть найден, DOS/Windows не может загрузиться.

Примечание: Предыдущие версии Windows полагались на буквы дисков, определенные MS-DOS, но начиная с Windows 2000 эти сопоставления хранятся в разделах реестра, таких как HKLM\SYSTEM\MountedDevices.Для некоторых системных созвездий сигнатура диска также используется в файле boot.ini, который является частью загрузчика Windows NT (NTLDR). Windows назначает подпись диска при инициализации нового диска.

Ответить или комментировать

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