Наши партнеры

UnixForum






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

Библиотека сайта rus-linux.net

Исследуем процесс загрузки Linux

(C) В.А.Костромин, 2007
(версия файла от 11.08.2007 г.)


Назад Оглавление Вперед

Этап 3: Загрузчик 2 этапа операционной системы

3.6. Параметры начальной загрузки

В предыдущих разделах настоящего обзора уже неодократно упоминались параметры начальной загрузки, которые можно задать либо в конфигурационном файле загрузчика, либо просто ввести в строке ввода вида
 boot:
которая выдается загрузчиком в том случае, если в конфигурационном файле загрузчика задан ненулевой интервал на ожидание реакции пользователя (задана опция timeout). Отметим сразу, что значения параметров, заданные в строке ввода, переопределяют те значения, которые были заданы в конфигурационном файле.

3.6.1. Классификация параметров начальной загрузки

Параметров начальной загрузки очень много. Все они описаны на страничке man bootparam и в документации на исходные коды ядра (см. [35-37]).

Все параметры начальной загрузки можно разделить на три группы. Первая группа - это параметры, воспринимаемые самим загрузчиком. Вторую группу образуют параметры, передаваемые ядру, и третью - параметры, передаваемые процессу init. Параметры первой группы зависят от того, какой именно загрузчик используется. Параметры двух следующих групп, очевидно, уже не зависят от загрузчика. В настоящем разделе мы рассмотрим только параметры первой группы (воспринимаемые загрузчиком), а две других группы будем обсуждать в последующих разделах.

Параметры, воспринимаемые загрузчиком, это те самые параметры, которые можно было задать в конфигурационном файле загрузчика. Хотя это и будет некоторым повторением, все же скажем несколько слов о том, какие это параметры и как их задать. Поскольку LILO и GRUB - работают по разному, можно предположить, что и параметры они воспринимают по разному, поэтому и рассматривать их будем по отдельности.

3.6.2. Параметры, воспринимаемые загрузчиком LILO

Если в конфигурационном файле LILO /etc/lilo.conf задан параметр prompt, LILO после запуска будет ожидать ввода от пользователя. Если параметр prompt не задан, можно после появления на экране слова "LILO" нажать одну из клавиш <Control>, <Shift> или <Alt> и появится строка ввода. Того же ээфекта можно добиться, если еще до появления на экране LILO нажать клавишу <Scroll Lock>. В этом случае не придется ловить нужный момент для вызова строки ввода.

Самый главный параметр - это, конечно, вариант загружаемой операционой системы. Если используется меню загрузки, то этот вариант выбирается из меню. Если же применен текстовый вариант, то при появлении строки ввода надо нажать клавишу Tab, после чего будет выдан список доступных вариантов. Примерно таким вот образом:

LILO boot: <press Tab>
linux   test   dos
boot: linux

Название нужного варианта надо ввести в строке ввода и он будет загружен. При наличии меню выбора нажатие клавиши TAB вряд-ли необходимо, но, вероятно, тоже возможно (я не проверял).

Кроме выбора одного из вариантов загрузки вторичный загрузчик LILO воспринимает различные опции, большую часть которых он обычно должен передать ядру (а то, в свою очередь, передает значения некоторых опций процессу init). Но, согласно man lilo, имеются 4 опции, которые LILO воспринимает и обрабатывает сам. Опции эти следующие:
lock
Запоминает командную строку, как если бы это было задано опцией "lock" в файле "/etc/lilo.conf".

mem=###[,K,M,G]
Задает максимальный объем оперативной памяти в байтах, килобайтах, мегабайтах и гигабайтах соответственно. Эта опция всегда передается и ядру. Не знаю, по какой причине, но у меня в системе, запускаемой через virtual.box (на ней я провожу эксперименты), задать этот параметр не удалось - знак равенства и цифры никак не вводятся.

nobd
Подавляет функцию проверки данных BIOS-ом. Эта опция нужна для компьютеров, несовместимых c IBM-PC BIOS, которые зависают на этапе выдачи сообщения
		Loading ............
		BIOS data check
vga=[ASK,EXT,EXTENDED,NORMAL]
Разрешает изменение заданного по умолчанию видео-режима, используемого на этапе загрузки ядра.

3.6.3. Параметры, воспринимаемые загрузчиком GRUB

Мне не удалось пока ни в man grub, ни в тех статьях, которые перечислены в списке ссылок, найти описание того, какие параметры обрабатывает GRUB. Поэтому я предполагаю, что это те же параметры, которые воспринимает и LILO. В ходе небольшой серии экспериментов, проведенных в виртуальной машине на основе Virtual.box с операционной системой OpenSUSE 10.2, оказалось, что в целом так оно и есть. Только в данном случае у меня знак равенства и цифры успешно вводились (смотри рис.3).
Рис.3. Ввод параметров загрузки в строке ввода загрузчика
В подсказке, выдаваемой в этот момент после нажатия клавиши F1, сообщается еще о нескольких параметрах, воспринимаемых на этом этапе:
  • "splash=0" Экран заставки отключен. Это может быть полезным, если у вас очень старый монитор или надо видеть ошибки на экране.
  • "splash=verbose" Активирует заставку, но сообщения выдаваемые во время загрузки по-прежнему показаны.
  • "splash=silent" Активирует заставку без выдачи сообщений на экран.
  • "apm=off" Полностью выключает APM - систему управления питанием.
  • "pci=noacpi" Не использовать ACPI для управления прерываниями.
  • "acpi=off" Полностью выключает ACPI.
  • "acpi=force" Включает ACPI, даже если у вас старый BIOS.
  • "acpi=oldboot" Включает только ту часть ACPI, которая относится к загрузке
Я поэкспериментировал с заданием различных вариантов параметра "splash" и убедился, что это действительно работает. Если вы, вслед за мной, надумаете исследовать процесс загрузки, то рекомендую воспользоваться параметром "splash=0", чтобы видеть все сообщения, выдаваемые на экран в процессе загрузки. На основе этих сообщений мы построим изучение процесса загрузки ядра в следующем разделе.

Отмечу еще только, что вместе с меню начальной загрузки на экране монитора иногда выдается подсказка по использованию функциональных клавиш. Как для клавиш F1 и F2 на рис.3, только иногда бывает задействовано больше таких клавиш. Если такие подсказки имеются в вашей системе, то значения некоторых параметров можно задать путем выбора одного из значений, приведенных в меню, появляющемся после нажатия соответствующей функциональной клавиши. С их помощью можно изменить разрешение экрана, задать язык, выполнить еще какие-то первоначальные настройки. Какие именно параметры задаются функциональными клавишами, вы можете увидеть, нажимая на эти клавиши (это безопасно!).


Назад Оглавление Вперед