IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Linux  >

Учебник для экзамена LPI 201: Запуск системы

Администрирование, средний уровень (LPIC-2) тема 202

developerWorks
На предыдущую страницуСтраница 3 из 7 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Настройка запуска системы и процесса загрузки

Что такое загрузчик?

Несколько лет назад для загрузки Linux на x86 системах в основном использовалась программа, названная LILO. Название LILO -- сокращение от "LInux LOader." Сейчас более популярна программа, названная GRUB (GRand Unified Bootloader). На системах, отличных от x86, используются другие загрузчики, но все они сконфигурированы аналогичным для LILO и GRUB способом.

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

Либо LILO, либо GRUB (или какой-то другой загрузчик) находится на MBR (Master Boot Record) первичного жесткого диска, который автоматически загружается системным BIOS. LILO имеет ограничения на загрузку специального raw сектора жесткого диска. Загрузчик GRUB более изощрен и распознает разные файловые системы, например, такие как ext2/3, ReiserFS, VFAT или UFS. Это означает, что GRUB не нужно перезаписывать MBR каждый раз, как только изменился конфигурационный файл (как это делает LILO).



В начало


Настройка загрузчика LILO

Настройка загрузчика LILO производится при помощи содержимого файла /etc/lilo.conf. Для более детального изучения параметров настройки LILO, прочитайте страницы помощи man для lilo.conf. Общий характер поведения определяют несколько начальных параметров. Например, вы наверняка увидите boot=/dev/hda или нечто подобное. Эта команда устанавливает загрузчик на MBR первичного жесткого диска IDE. Вы можете также установить LILO внутрь конкретного раздела, обычно это нужно, когда вы используете другой основной загрузчик. Например, boot=/dev/sda3 устанавливает LILO на третий раздел первого SCSI диска. Другие параметры определяют внешний вид и время ожидания LILO.

Запомните, что после того, как вы внесете исправления в файл /etc/lilo.conf, вам необходимо запустить LILO для фактической установки нового загрузочного сектора, который используется во время загрузки. Можно легко забыть установить новые параметры, но загрузчик сам по себе не сможет прочесть новую конфигурацию, за исключением того случая, когда записаны фактические адреса секторов (которые LILO распознает в процессе работы).

Если используется LILO, особенное значение имеют строки типа image= и, может быть, other=, если имеется выбор между ОС Linux и другими операционными системами. Пример /etc/lilo.conf может содержать:


Листинг 2. Пример конфигурации LILO
                    
image=/boot/bzImage-2.7.4
label="experimental"
image=/boot/vmlinuz
label="linux"
initrd=/boot/initrd.img
append="devfs=mount acpi=off quiet"
vga=788
read-only
other=/dev/hda3
label=dos

Такая конфигурация позволяет вам выбирать либо ядро версии 2.7.4, которое находится в стадии разработки, либо стабильное ядро (далее объявлено, что использовать как стартовый RAM-диск (initrd) в процессе загрузки). Вы можете также выбрать DOS, которая находится на третьем разделе первичного IDE диска.



В начало


Настройка загрузчика GRUB

Бесспорным преимуществом GRUB является то, что его не надо переустанавливать всякий раз, после того как вы изменили параметры загрузки. Конечно, в первый раз GRUB все же нужно установить, обычно это делается командой типа grub-install /dev/hda. Как правило, в процессе инсталляции дистрибутив делает это для вас сам, так что вы, может статься, так ни разу сами этого и не сделаете.

Теперь, так как GRUB знает, как читать разные файловые системы, вы можете легко внести изменения в файл /boot/grub/menu.lst, чтобы изменить параметры следующей загрузки. Взгляните на пример конфигурации GRUB:


Листинг 3. Пример конфигурации GRUB
                    
timeout 5
color black/yellow yellow/black
default 0
password secretword

title linux
kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 quiet
vga=788 acpi=off
initrd (hd0,1)/boot/initrd.img

title experimental
kernel (hd0,1)/boot/bzImage-2.7.4 root=/dev/hda2 quiet

title dos
root (hd0,4)
makeactive
chainloader +1



В начало


Изменения параметров во время работы загрузчика (LILO)

И LILO и GRUB позволяют передать специальные параметры выбранному вами ядру. Если вы используете LILO, вы можете передать параметры приглашению boot добавлением их к выбранному вами ядру. Например, для обычных параметров загрузки вы можете ввести:

LILO: linux ether=9,0x300,0xd0000 root=/dev/ha2 vga=791 acpi=on

Эта строчка передает специальные параметры модулю Ethernet, указывает корневой раздел, выбирает режим видео, и т.д. Конечно, не все это удобно, так как вы должны знать точно подходящие значения этих параметров и уметь правильно ввести их.

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

LILO: experimental single

или:

LILO: linux 1

Другой специальный параметр -- аргумент init=, который позволяет вам использовать программы, отличные от init в качестве первичного процесса. Параметры для режима аварийной ситуации могут быть следующими: init=/bin/sh, что, по крайней мере, позволит вам иметь в своем распоряжении командную строку (Linux shell), если init совсем вышел из строя.



В начало


Изменения параметров во время работы загрузчика (GRUB)

С загрузчиком GRUB вы имеете еще большую гибкость. Фактически, GRUB представляет из себя оболочку командной строки и предоставляет пользователю базовую функциональность shell. GRUB дает возможность не только изменить базовую конфигурацию загрузчика, но даже читать файловые системы. Для настройки параметров загрузки, нажмите "e" в командной строке GRUB, после этого добавьте параметры (например, номер уровня запуска или ключевое слово "single" как в LILO). Все другие аргументы в приглашении загрузки, которые вы могли бы ввести, используя LILO, могут быть использованы в командной строке GRUB.

Для понимания своих возможностей вы можете открыть командную строку GRUB. Например, предположите, что вам кажется, что ваш файл /etc/inittab плохо сконфигурирован, и вы хотите исследовать это перед загрузкой. Вы могли бы ввести:

grub> cat (hd0,2)/etc/inittab

Это позволило бы заранее просмотреть ваш инициализацонный файл, без запуска операционной системы. Если бы там обнаружилась ошибка, то можно было бы загрузиться в однопользовательский режим и исправить ее.



В начало


Настройка, осуществляемая после загрузчика

Как только вы осознаете шаги в загрузке Linux после загрузки ядра (другими словами, процесс init и все, что он вызывает), вы также осознаете, как их отредактировать. В основном, вся настройка осуществляется редактированием файла /etc/inittab и различных скриптов в каталоге /etc/rc?.d/.

Например, недавно мне понадобилось настроить видео BIOS на ноутбуке с Linux, базирующемся на Debian, использующем разработки третьих фирм. Если он не был запущен до того, как запустятся X11, мой драйвер XOrg не установил бы правильные режимы видео. Как только я выяснил, в чем была проблема, решение было столь же просто, как создание скрипта /etc/rcS.d/S56-resolution.sh. Другими словами, я запускал дополнительный скрипт при каждой загрузке системы.

Замечу, что я удостоверился, что этот скрипт исполняется раньше, чем /etc/rcS.d/S70xorg-common вследствии простого соглашения, что скрипты запускаются в алфавитном порядке (если бы я хотел, чтобы мой скрипт выполнялся позже, я, возможно, назвал бы его S98-resolution.sh вместо /etc/rcS.d/S56-resolution.sh). Может быть, я поместил бы этот скрипт только в каталог /etc/rc5.d/, чтобы он запускался, когда выполняются X11, но я могу вручную запустить startx из-под другого уровня запуска.

Все настройки в процессе инициализации открыты для редактирования, прямо в файловой системе; почти все можно исправить с помощью текстовых скриптов.



В начало



На предыдущую страницуСтраница 3 из 7 На предыдущую страницу
    IBM в России Конфиденциальность Контакты