Денис Колисниченко Ubuntu 10. Краткое руководство пользователя
  • Register

19.2. Конфигурационные файлы загрузчика

19.2. Конфигурационные файлы загрузчика

В листинге 19.1 приведен основной конфигурационный файл GRUB2 — /boot/grub/grub.cfg. Он не поддается редактированию вручную. Для его создания используется утилита /usr/sbm/grub-mkconfig, которая генерирует этот конфигурационный файл на основе шаблонов, хранящихся в каталоге /etc/grub.d, и настроек из файла /etc/default/grub.

19.2. Конфигурационные файлы загрузчика
19.2. Конфигурационные файлы загрузчика
19.2. Конфигурационные файлы загрузчика

Если вы знакомы с синтаксисом bash, то наверняка заметили, что синтаксис grub.cfg уж очень напоминает синтаксис bash-сценариев. Как уже было отмечено ранее, параметры GRUB2 задаются в файле /etc/default/grub, а в файле grub.cfg описываются элементы меню загрузчика.

Рассмотрим описание элемента меню:

19.2. Конфигурационные файлы загрузчика

В кавычках после команды menuentry находится описание элемента меню — можете заменить этот текст на все, что вам больше понравится (в том числе и на русский текст — используя кодировку UTF-8). Далее следуют команды GRUB. Например, команда insmod ext2 загружает модуль ext2. Обратите внимание — это не модуль ядра Linux! Это модуль GRUB2, находящийся в каталоге /boot/grub (файл ext2.mod).

Команда set root устанавливает загрузочное устройство. Формат имени устройства такой же, как в GRUB. Обратите внимание — несмотря на использование в команде set root формата имени в стиле обычного GRUB, далее используются постоянные имена устройств:

root=UUID=34eaa635-ef0e-4d5c-8b61-3c22c767834b

В современных дистрибутивах в конфигурационных файлах загрузчика имен в стиле /dev/sd** вы больше не встретите, хотя их можно использовать, если вам так удобнее.

После служебного слова linux задается ядро (файл ядра) и параметры, которые будут переданы ядру. Служебное слово initrd указывает на файл initrd.

Теперь рассмотрим файл /etc/default/grub, содержащий параметры GRUB2 (листинг 19.2). Поскольку этот файл вы будете редактировать чаще, чем grub.cfg, то комментарии для большего удобства я перевел на русский язык.

19.2. Конфигурационные файлы загрузчика

После изменения файла /etc/default/grub не забудьте запустить команду update-grub для обновления файла /boot/grub/grub.cfg.

При редактировании конфигурации GRUB2 нужно придерживаться одной стратегии из двух возможных. Первая заключается в ручном редактировании файла grub.cfg — вы редактируете его вручную и больше не используете других программ вроде grub-mkconfig или update-grub. Вторая стратегия заключается в использовании вспомогательных программ, но тогда не нужно вручную редактировать файл grub.cfg, иначе при последующем изменении файла grub.cfg программами grub-mkconfig и/или update-grub все изменения, внесенные вручную, будут уничтожены.

Небольшая неясность имеется с командами grub-mkconfig и update-grub — когда и какую команду использовать? Конфигурационный файл grub.cfg строится на базе файлов из каталога /etc/grub.d и параметров из файла /etc/default/grub. Если вы изменили только файл /etc/default/grub, достаточно будет команды update-grub. А вот если вы изменили какой-то файл из каталога /etc/grub.d, то нужно вводить обе команды:

sudo grub-mkconfig

sudo update-grub

Надо отметить, что файлы из каталога /etc/grub.d приходится редактировать довольно редко, но все же приходится, чем мы и займемся в следующем разделе и в главе 25, когда будем устанавливать пароль загрузчика GRUB2.

Форма входа

Советы