Ограничения емкости дисков
9.5. Ограничения емкости дисков
С ограничениями емкости приходится сталкиваться всякий раз, когда системная BIOS (или операционная система) не способна распознать (или адресовать) часть секторов жесткого диска. Это явление связано не с конструкцией или структурой того или иного накопителя, а с несовершенством системной BIOS или операционной системы. Например, BIOS может оказаться не в состоянии преобразовывать адреса секторов, если количество цилиндров превышает определенную величину — в итоге часть дискового пространства для нее будет недоступна. Что касается операционной системы, то для нее существуют ограничения в количестве ячеек (кластеров), которые могут быть адресованы в рамках принятой файловой структуры (FAT). Производители жестких дисков впервые столкнулись с ограничениями на уровне BIOS в 1994 г. , когда был и разработаны АТА-2/ЕIDЕ накопители емкостью более 504Мбайт. Ограничения, связанные с операционной системы, проявили себя после того, как начался выпуск жестких дисков емкостью более 2Гбайт. Конкретные ограничения, с которыми вы можете столкнуться, зависят от версии BIOS и используемой операционной системы. В настоящее время чаще всего приходится иметь дело с ограничениями в BIOS на уровне 2, 4 и 7,88Гбайт (2 и 4 Гбайт — приблизительные значения). Что касается операционных систем, то в DOS и Windows95 (не OSR2) размер раздела не должен превышать 2Гбайт, в WindowsNT — 4Гбайт, a Windows95 OSR2 и Windows98 могут работать с накопителями гораздо больших размеров.
9.5.1. Ограничения количества цилиндров в BIOS
· BIOS игрист ключевую роль при обращениях к жесткому диску с использованием программного прерывания INT13. На сегодняшний день существуют три главных ограничения, связанные с BIOS.
· В версиях BIOS, разработанных до июля 1994г. , емкость накопителя обычно ограничена величиной 504Мбайт, а количество цилиндров не может превышать 1024. До этого времени возможности режима логической адресации блоков (LBA) практически не использовались.
· В версиях BIOS, разработанных после июля 1994г., емкость накопителя обычно ограничена величиной около 2Гбайт, а количество цилиндров не может превышать 4093÷4096. Режим LBA в этих версиях используется вполне корректно, а упомянутые ограничения на количество адресуемых цилиндров разработчики BIOS наложили искусственно.
· В версиях BIOS, разработанных после 1996г., отсутствуют ограничения емкости на уровне 504Мбайт и 2Гбайт, однако вы можете столкнуться с порогами на уровне 4 и 7,88Гбайт. Как и в предыдущих версиях, эти пределы возникают из-за ограничений на количество цилиндров (в районе 8190), введенных разработчиками BIOS.
· Если говорить о конкретных BIOS ведущих фирм, то необходимо отметить следующее.
· В BIOS фирмы Phoenix Technologies (www.ptltd.com) версии 4, начиная с 6-й редакции, предусмотрена поддержка накопителей емкостью более 7,88 Гбайт. В редакции 5.12 не поддерживаются расширенные функции, вызываемые через INT13. Все BIOS фирмы Phoenix относятся к версии 4, т.е. редакция 5.12 является более ранней, чем 6 я. Для модернизации своих BIOS фирма Phoenix рекомендует использовать продукцию компании MicroFirmware (max.firmware.com).
Рекомендуемые материалы
· В BIOS фирмы Award (www.award.com), разработанных после ноября 1997г. , предусмотрена поддержка накопителей емкостью более 7,88Гбайт. Для модернизации своих BIOS фирма Award рекомендует использовать продукцию компании Unicore (http://www.unicore.com).
· Во всех версиях BIOS фирмы American Megatrends (AMI) (www.megatrends.com), разработанных после 1 января 1998 г. , предусмотрена поддержка накопителей емкостью более 7,88Гбайт.
9.5.2. Ограничения размеров разделов в операционных системах
Файловые системы также являются причинами ограничения емкостей накопителей, причем вне зависимости от используемых операционных систем. Если ОС работаете файловой системой FAT16 (DOS, Windows95/98, WindowsNT и OS/2), то размер раздела не может превышать 2Гбайт. Размер NTFS раздела в Windows NT может достигать 4Гбайт. Если емкость установленного накопителя превышает эти пределы, то его надо разбить на разделы — в противном случае часть дискового пространства останется недоступной. Разработка FAT32 и ее внедрение в Windows95 OSR2 и Windows98 привело к тому, что, например, в Windows 98 можно получить доступ к накопителям емкостью до 2 Тбайт с единственным логическим разделом.
9.5.3. Преодоление ограничений емкости
Начиная с 1994 г. , разработчики персональных компьютеров активно работали над преодолением ограничений емкости накопителей, накладываемых BIOS и операционными системами. К сожалению, эти ограничения до сих пор являются настоящим бедствием для старых систем. А именно эти компьютеры, выпущенные несколько лет назад, приходится сейчас модернизировать, и одним из первоочередных усовершенствований является установка современного жесткого диска большой емкости. При таких заменах проблемы, связанные с ограничениями емкости, возникают чаше всего. Преодолеть их можно несколькими способами, к рассмотрению которых мы сейчас и перейдем.
9.5.4. Ограничение на уровне 504 Мбайт
Поддержка ЕIDE жестких дисков большой емкости (более 504Мбайт) является необходимым условием для модернизации компьютера. Существуют три способа решения этой проблемы:
1) замена системной BIOS на более позднюю версию, в которой предусмотрена поддержка режима логической адресации блоков (LBA);
2) замена контроллера накопителя на такой, в котором есть встроенная BIOS с поддержкой LBA;
3) логическое разбиение диска с помощью оверлейных программ наподобие Disk Manager и EZ-Drive. Если компьютер выпущен до 1994г., то наилучшим решением будет установка нового контроллера накопителя и замена системной BIOS, поскольку при этом вы, скорее всего, получите еще и существенный выигрыш в производительности. С точки зрения финансовых затрат оверлейные программы, безусловно, вне конкуренции — они бесплатные (иногда входят в комплект поставки новых жестких дисков) и вам не придется заниматься перепрограммированием ПЗУ BIOS или установкой нового контроллера.
Обратите внимание на лекцию "Лекция 4".
9.5.5. Ограничения на уровнях 2, 4, 7,88 и 32 Гбайт
· Указанные ограничения могут привести к следующим неприятностям.
· Усечение цилиндров происходит тогда, когда BIOS сообщает операционной системе о меньшем количестве цилиндров (4095), чем их есть на самом деле. Сама BIOS может при этом вывести на экран сообщение и о большем количестве цилиндров, но ОС будут переданы сведения только о 4095.
· Зависание компьютера при выполнении РОSТ происходит тогда, когда BIOS оказывается не в состоянии выполнить усечение количества цилиндров и блокирует систему в процессе самопроверки при включении. Причиной этого чаще всего оказывается процедура автоматического определения параметров накопителя, предусмотренная в некоторых версиях BIOS.
· ”Заворачивание” цилиндров происходит в тех случаях, когда BIOS вычитает из полного количества цилиндров максимально разрешенную величину (4095) и сообщает операционной системе именно об этом остатке. Например, если в накопителе 4096 цилиндров, то BIOS сообщит операционной системе только об одном.
· Зависание компьютера при загрузке обычно происходит в тех случаях, когда емкость накопителя превышает 4Гбайт (7,88 или 32Гбайт). Зависание компьютера происходит из-за сбоя в процессе начальной загрузки операционной системы, как с дискеты, так и с жесткого диска. Это может быть вызвано тем, что BIOS сообщает операционной системе о количестве головок, равном 256 (100h), а размер регистра, используемого в DOS и Windows 95/98 для подсчета головок, составляет один байт (т.е. максимальное десятичное число, которое можно в него загрузить — это 255).