boot.ini, загрузка с основных разделов после расширенного раздела

boot.ini, загрузка с основных разделов после расширенного раздела

Существует ли правило (Win NT), согласно которому основные разделы MBR должны располагаться перед расширенными разделами?

Активный раздел находится на rdisk(0)

У меня есть второй диск с 4/5 разделами (в зависимости от того, как считать), parted показывает:

1 Основной 2 Расширенный, содержит (3) Логический 4 Основной 5 Основной

Чтобы загрузить логический раздел, используя boot.ini,

 multi(0)disk(0)rdisk(1)partition(4)\WINDOWS="14" /noexecute=optin /fastdetect

parted выводит список всех 5 разделов: известно, что NTLDR не учитывает раздел контейнера и перечисляет логический раздел после перечисления основных разделов, поэтому логический раздел — (4).

Пока что мне не удалось загрузить HAL.DLL из следующих двух основных разделов.

 multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="12" /noexecute=optin /fastdetect
 multi(0)disk(0)rdisk(1)partition(3)\WINDOWS="13" /noexecute=optin /fastdetect

Известна ли эта проблема с NTLDR — основные разделы должны располагаться перед расширенными? (Или я просто где-то ошибся.)

решение1

Есть несколько вопросов/факторов, которые вы можете рассмотреть.

1. Проблема с 1024 цилиндрами.

В процессе загрузки Windows NT 4.0 использует функции BIOS INT13 для доступа к диску. Функции INT13 имеют максимальный «диапазон» в 256 головок, 1024 цилиндра и 63 сектора, к которым они могут обращаться. Это примерно 7,8 ГБ (512 байт на сектор).

Поэтому весьсистемный разделдолжен находиться ниже 1024 цилиндров.

Системный раздел определяется как раздел, содержащий файлы, необходимые для первоначального запуска системы. Для Windows NT это файлы Ntdetect.com, NTLDR, Boot.ini и иногда Ntbootdd.sys

2. Boot.ini и номера разделов.

Я не уверен на 100%, что порядок разделов pri - extended - pri является проблемой, я знаю, что это было необычно в те дни, и не удивлюсь, если это было проблемой. И поэтому я бы определенно избегал этого. IOW, поместите основные разделы перед расширенными, чтобы избежать проблем.

Кажется, вы уже знаете, как boot.ini подсчитывает разделы, но на всякий случай для тех, кто читает и не делает этого:

  • Номера разделов назначаются, начиная с 1 (не с 0).
  • Первыми присваиваются номера основным разделам.
  • Далее логическим разделам присваиваются номера.
  • Расширенным разделам вообще не присваиваются номера.

Для первичного раздела нам нужно рассмотреть фактический порядок разделов в таблице разделов. Порядок расположения разделов может отличаться от порядка разделов в первичной таблице разделов. Поэтому рассмотрим 3 первичных раздела

Раздел а - Раздел б - Раздел в

в то время как таблица разделов выглядит так

  • Partition b
  • Partition c
  • Partition a

А если Partition aэто «системный раздел», запись boot.ini, возможно, должна указывать на раздел(3), а не на раздел(1), как можно было бы ожидать, исходя из расположения разделов на диске.

В те времена существовали инструменты, сортировавшие записи таблицы разделов в порядке их появления на диске.

Связанный контент