Ограничение загрузки Int 13 x86 и раздел C

Опубликовано: 26 Марта, 2023


В процессе установки NT максимальный размер раздела NTFS может составлять 4 ГБ или
максимальный размер раздела FAT 2 ГБ. Если вы предварительно отформатируете раздел NTFS в
другую коробку NT или используйте стороннюю утилиту, которая может создавать и форматировать NTFS
разделов, таких как PartitionMagic или ServerMagic, то загрузочный раздел можно
размером до 7,8 ГБ. Это сводка, которую вы часто будете видеть в группах новостей. Этот
часто все, что нужно. Но есть проблемы с int13 BIOS.

Когда компьютер загружается, единственный способ для Windows NT получить доступ к жесткому диску
заключается в использовании набора функций BIOS, известных как Interrupt (INT 13). Когда INT 13 был
разработан, многогигабайтные жесткие диски были недоступны, а ограничение INT 13
7,8 ГБ не считались критическими. Как следствие, Windows NT 4.0 не может получить доступ
более 7,8 ГБ на первых этапах процесса загрузки; таким образом, система
раздел ограничен 7,8 ГБ. Более новые операционные системы, такие как Windows 98 и
Windows 2000 не страдает от этого ограничения, поскольку использует более новый расширенный
INT 13, который может адресовать более 7,8 ГБ.

В процессе загрузки Windows NT ntdetect.com использует
int13 Функция BIOS для информации о расположении диска. Из-за ограничений int13,
ntldr, boot.ini, ntdetect.com и системные файлы Windows NT
должен располагаться в пределах первых 1024 цилиндров диска 0. Значение int13
Функции позволяют низкоуровневому коду читать и записывать на диск. Эти
функции используют 24 бита для адресации секторов на жестком диске. 24 бита
делится на 10-битное поле для цилиндра, 8-битное поле для головки и 6-битное поле
поле для сектора. Максимальное количество секторов, доступных для INT 13
поэтому интерфейс:

Цилиндры * головки * сектора = 1024 * 256 * 63 = 16 515 072

Когда размер сектора составляет 512 байт, это рассчитывается как

16 515 072 * 512 = 8 455 716 864 байта = 7,875 ГБ.

Вышеприведенное предполагает стандартную геометрию диска с 63 секторами на дорожку, 256 головками.
с 1024 цилиндрами. Некоторые диски настроены на 63 сектора на дорожку, 128
головки с 2048 цилиндрами. Умножение выходит на 7,875 ГБ, НО помните
что int13 выделяет только 10-битное поле для цилиндров. это доступ
ограничение при загрузке до первых 1024 цилиндров. Для дисков, сконфигурированных
с 2048 цилиндрами полная половина его пространства недоступна во время загрузки, в результате чего
в максимальном используемом системном разделе NT размером 4 ГБ.

Это приводит к значительной путанице в отношении максимального размера для системы NT.
раздел. Как видите, это либо 4 ГБ, либо 7,875 ГБ, в зависимости от того,
диск настроен на 2048 цилиндров или 1024 цилиндра под NTFS. если ты
не знаете, что относится к вашему диску, используйте 4 ГБ в качестве раздела C. связанный
Проблема связана с двойной загрузкой Windows NT и Win95/Win98. Должна быть установлена Win9x.
на разделе FAT16 (поскольку NT не будет загружаться на fat32), что ограничивает
загрузочный раздел уменьшился до 2 Гб. Файловая система FAT ограничена 65 525 кластерами.
Размер кластера должен быть степенью 2 и меньше 65 536 байт.
приводит к максимальному размеру кластера 32 768 байт (32 КБ). Таким образом, максимальный размер для FAT16
является

65 525 * 32 768 байт = 2 ГБ.

Проблема в том, что NT будет правильно устанавливаться и нормально работать даже на диске.
с 2048 цилиндрами, если вы создаете большой раздел, даже 18 ГБ или 21 ГБ. В течение
при установке файлы Windows, используемые в процессе загрузки, сжимаются в
ранние секторы. Оставаясь в пределах ограничения 1024 цилиндров int13. Но это дерьмо
стрелять. Допустим, вы в основном заполнили свой HD и следующий отличный сервис
пакет приходит и применить его. К сожалению, на данный момент обновленные DLL
и другие системные файлы разбросаны по всему разделу. Если какой-либо из
критические файлы хранятся выше предела 1024 цилиндров, при следующей загрузке вы
получит захватывающее сообщение, INACCESSIBLE_BOOT_DEVICE

Связанный:
Загрузочный раздел, созданный во время установки, ограничен 4 гигабайтами

Windows NT 4.0 поддерживает до 7,8 ГБ системного раздела

Правила разметки Windows NT во время установки

Загрузочный раздел, созданный во время установки, ограничен 4 гигабайтами

Процесс загрузки Windows NT и ограничения жесткого диска

1024 Cylinder Limit, как Windows NT получает геометрию диска

Как Windows NT обрабатывает перевод диска