Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Next Previous Contents

6. Загрузка

Когда система загружается , BIOS считывает сектор 0 ,более известный под названием MBR - Master Boot Record(Главная Загрузочная Запись) с первого диска (или флопи-дисковода или CD-ROM), и передает управление на код содержащийся в нём - обычно это программа загрузчик. Обычно такие мини-программы не имеют собственного драйвера диска и используют соответствующие сервисы , предоставляемые BIOS. Это означает , что ядро Линукс , может быть загружено только если оно помещается в пределах первых 1024 цилиндров.

Это проблемы решается весьма просто , достаточно разместить ядро ( и сопутствующие файлы,используемые в процессе загрузки , такие как map файлы LILO), на разделе расположенном целиком в пределах первых 1024 цилиндров , к которым может получить доступ BIOS. Обычно это первый или второй раздел диска.

Итак : создайте небольшой раздел, скажем 10 МБ размером , так чтобы было достаточно места для всех ядер , убедитесь , что он целиком расположен в пределах первых 1024 цилиндров первого , либо второго диска. Смонтируйте его как /boot чтобы LILO держало там свои файлы.

6.1 LILO и опция `linear' o

Другой аспект проблемы - это то что начальный загрузчик и BIOS должны иметь одинаковое представление о геометрии диска. LILO опрашивает ядро на предмет геометрии , но все больше авторов драйверов дисков , следуют дурной привычке - брать сведения о геометрии из таблицы разделов , вместо того , чтобы указать LILO , какую геометрию будет использовать BIOS. Поэтому , сведения о геометрии , предоставленные ядром , бесполезны. В таких случаях может помочь установка опции `linear'. Данная опция включает специальный режим LILO , в котором ему не требуется информация о геометрии диска во время установки загрузчика (оно хранит линейные адреса в maps файлах) , но производит преобразование линейных адресов во время загрузки. Существует только одна проблема связанная с использованием данной опции - LILO больше не знает о номерах цилиндров и не сможет предупредить вас , если часть ядра перекроет лимит в 1024 цилиндра , в итоге вы можете получить не загружаемую систему.

6.2 1024 цилиндра это не 1024 цилиндра

Тим Виллиамс пишет : 'Мой Линукс раздел располагался в пределах 1024 цилиндров и все равно не хочет работать.Сначала когда раздел располагался в пределах 1 Гб все работало нормально. Как такое может быть ? Это был SCSI диск с контроллером AHA2940UW, который имел следующие параметры : H=64, S=32 (каждый цилиндр 1 МиБ = 1.05 МБ) ,либо H=255, S=63 ( цилиндры по 8.2 МБ), в зависимости от установок в BIOS и фирменном ПО. Без сомнения BIOS полагал ,что 1024 цилиндровый лимит - это 1 ГиБ ( он использовал первые значения) , в то время как Линукс и LILO использовали последнии и LILO полагало что этот лимит находиться на 8.4 ГБ


Next Previous Contents


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют