Интернет магазин китайских планшетных компьютеров



Компьютеры - Процесс загрузки Linux - Фаза загрузчика

25 апреля 2011


Оглавление:
1. Процесс загрузки Linux
2. Фаза загрузчика
3. Фаза ядра
4. Процесс init



Фазы загрузчика различаются в зависимости от платформы. Поскольку ранние этапы загрузки не зависят от операционной системы, процесс загрузки обычно начинается следующим образом:

  • Для x86 или x86-64: код с загрузочного сектора раздела диска выполняется в реальном режиме и загружает первую фазу загрузчика.

С этого момента загрузка продолжается. Первая фаза загружает остальной код загрузчика, который обычно спрашивает, какую операционную систему пользователь хочет запустить. При использовании LILO это делается путем считывания конфигурационного файла /etc/lilo.conf, в котором определены доступные системы. Этот файл содержит, в частности, информацию о загрузочном разделе и расположении ядра для каждой из таких систем, а также дополнительные параметры загрузки, если они заданы. В результате выбора соответствующее ядро загружается в ОЗУ, минимальная начальная файловая система настраивается из файла-образа, а затем, вместе с соответствующими параметрами управление передаётся новой ОС.

LILO и GRUB имеют определённые различия:

  • LILO не распознаёт файловые системы, поэтому он использует непосредственные смещения на диске и сведения из BIOS для загрузки данных. Он загружает код меню, а потом, в зависимости от выбора, загружает либо 512-байтные секторы диска для системы, основывающейся на MBR, либо образ ядра для Linux.
  • GRUB, наоборот, распознаёт распространённые файловые системы. Так как GRUB хранит свои данные в файле конфигурации, а не в загрузочной записи, и имеет интерфейс командной строки, то зачастую параметры GRUB легче поправить или изменить, если они настроены неправильно или повреждены.

GRUB

  1. Загрузчик 1-й фазы считывается BIOS из MBR.
  2. Он загружает оставшуюся часть загрузчика. Если вторая фаза находится на большом диске, иногда загружается промежуточная фаза 1,5, которая содержит дополнительный код, позволяющий считывать цилиндры с номерами более 1024. Загрузчик фазы 1,5 хранится в MBR или в загрузочном разделе.
  3. Выполняется вторая фаза загрузчика и отображает меню запуска GRUB. Оно также позволяет выбрать среду выполнения и просмотреть параметры системы.
  4. Когда операционная система выбрана, она загружается и ей передаётся управление.

GRUB поддерживает и прямой, и цепной способ загрузки, а также LBA, ext2, и «истинно командно-ориентированную, дооперационную среду на машинах x86». Он имеет три интерфейса: меню выбора, редактор настроек и командную консоль.

LILO

LILO старше GRUB и практически аналогичен ему в действии, за исключением того, что не содержит интерфейса командной строки. Поэтому все изменения нужно вносить в его настройки и записывать в MBR, после чего систему перезагружают. Таким образом, ошибка в настройках может сделать диск неспособным к загрузке без использования отдельного загрузочного устройства, содержащего программу для исправления ошибки. Кроме того, LILO не распознаёт файловые системы; вместо этого, адреса файлов-образов хранятся непосредственно в MBR, а BIOS используется для прямого к ним доступа.

Loadlin

Ещё один способ загрузить Linux — из DOS или Windows 9x, где ядро Linux полностью заменит выполняющуюся копию операционной системы. Это может быть целесообразно, если аппаратное обеспечение должно включаться программно, а соответствующие программы существуют только для DOS, а не для Linux, будучи проприетарным ПО производителя и объектом коммерческой тайны. Этот утомительный метод загрузки уже не очень актуален, так как в Linux есть драйверы для множества аппаратных устройств, хотя в прошлом он был весьма полезен.
Другой пример: когда Linux находится на устройстве хранения данных, которое не предназначено для загрузки из BIOS: DOS или Windows могут загрузить соответствующие драйверы, чтобы обойти такое ограничение BIOS, а затем загрузить оттуда Linux.



Просмотров: 4455


<<< Главная загрузочная запись
ATI Technologies >>>