Команда 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, то комментарии для большего удобства я перевел на русский язык.
После изменения файла /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.
19.3. Установка тайм-аута выбора операционной системы. Редактирование параметров ядра Linux
По умолчанию GRUB2 не отображает меню выбора операционной системы. Следовательно, вы не можете ни выбрать другую операционную систему (в том числе и Windows), ни изменить параметры ядра Linux, ни выбрать режим восстановления или режим тестирования памяти. Одним словом, такое поведение загрузчика создает определенные неудобства.
Чуть ранее было сказано, что для установки тайм-аута загрузчика нужно отредактировать следующие параметры:
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
# Таймаут (в секундах)
GRUB_TIMEOUT="10"
Все правильно, но в том случае, если бы GRUB2 в Ubuntu не содержал «глюка»!
Примечание
Вообще, «глюки» — это хорошо. Чем корявее будет Canonical делать свои дистрибутивы, тем больше будет работы у авторов книг и дистрибутивов на базе Ubuntu. Вы думаете, почему я создал свой дистрибутив Denix ( denix.dkws.org.ua)? Нет, не для того, чтобы гордо ткнуть себя в грудь — мол, я тоже могу сделать свой дистрибутив! А для того, чтобы после каждой установки Ubuntu пользователи могли не тратить свое личное время, часами настраивая операционную систему.
Например, чтобы побороть такое неадекватное поведение (а каким его еще назвать, если программа не реагирует на установку параметров из конфигурационного файла) загрузчика, мне пришлось потратить минут 15–20. К своему решению я пришел экспериментальным путем, поэтому не удивлюсь, если на каком-то форуме в Интернете вы найдете другое решение (не исключаю, может быть даже лучшее).
Итак, откройте ваш файл /etc/grub.d/30_os-prober:
sudo nano /etc/grub.d/30_os-prober
Найдите в нем строку:
if ["x${GRUB_HIDDEN_TIMEOUT}" = "x0"]
Далее все значения -1 во фрагменте кода, представленном в листинге 19.3, замените на 1. Строки, которые нуждаются в редактировании, выделены полужирным шрифтом. Изменять значение -1 в остальном коде, выходящем за рамки листинга 19.3, не нужно!
После внесения изменений сохраните файл и введите команды:
sudo grub-mkconfig
sudo update-grub
sudo reboot
Теперь после перезагрузки вы увидите меню GRUB2 (рис. 19.1). Для редактирования параметров ядра, которые передаются Linux, выделите загрузочную метку Linux и нажмите клавишу .
Читать дальше
Конец ознакомительного отрывка
Купить книгу