Налаштування grub2
У цій статті ми розглянемо, як налаштувати завантажувач GRUB2 за допомогою його конфігураційних файлів. Ознайомитися з цією інформацією буде дуже корисно, якщо раніше ви користувалися тільки першою версією GRUB: в GRUB2 вся структура конфігураційних файлів зазнала великих змін. Однак для впевненого використання GRUB2 досить запам'ятати нове розташування конфігураційних файлів і їх зміст.
Принципові відмінності GRUB1 від GRUB2
У першій версії GRUB всі налаштування і пункти завантаження зберігалися в простому файлі /boot/grub/menu.lst. але в GRUB2 цього файлу просто не існує. Однак є файл /boot/grub/grub.cfg і він дійсно дуже нагадує menu.lst, але редагувати його не рекомендується. Звичайно, ніхто не забороняє цього робити, але проблема в тому, що після оновлення меню завантажувача цей файл створитися заново, і ваші зміни зникнуть. Для вирішення цієї проблеми потрібно працювати з іншими файлами налаштування, які, в результаті, і створюють файл grub.cfg.
Оновлення завантажувального меню і застосування нових налаштувань
Припустимо ви зібрали нове ядро і вам потрібно, щоб воно прописався в меню завантажувача або ви просто змінили налаштування GRUB2 і хочете, щоб вони вступили в силу. Для цього використовується команда (від суперкористувача):
update-grub
В ході виконання цієї команди, оновлюється файл /boot/grub/grub.cfg. в який вносяться нові пункти меню або (і) настройки. В процесі виконання цієї команди також в терміналі ви побачите знайдені операційні системи і ядра.
Наприклад, ось хід виконання оновлення в моїй системі:
Generating grub.cfg.
Found linux image: /boot/vmlinuz-2.6.35-19-generic
Found initrd image: /boot/initrd.img-2.6.35-19-generic
Found linux image: /boot/vmlinuz-2.6.32-25-generic
Found initrd image: /boot/initrd.img-2.6.32-25-generic
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86 + image: /boot/memtest86+.bin
done
Це означає, що тепер у мене в меню завантаження буде дистрибутив з різними версіями ядра linux і утиліта memtest для перевірки оперативної пам'яті.
/ Etc / default / grub - основні настройки GRUB2
У файлі / etc / default / grub зберігаються основні настройки GRUB2: пункт завантаження за замовчуванням, час відображення меню завантажувача (при включенні), параметри завантаження ядра за замовчуванням, назва дистрибутива, дозвіл меню GRUB2. Є ще кілька параметрів, але вони навряд чи вам знадобляться. Давайте розглянемо як змінювати всі ці параметри безпосередньо в / etc / default / grub. Для розуміння структури файлу, я приведу лістинг цього файлу в моїй системі.
GRUB_DEFAULT = 0
GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_TIMEOUT_QUIET = true
GRUB_TIMEOUT = "0"
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = ""
GRUB_CMDLINE_LINUX = ""
# GRUB_TERMINAL = console
# GRUB_GFXMODE = 640x480
У наступній статті я напишу про те, як змінити зовнішній вигляд меню GRUB2.
Це називається "shell-скрипти" і "мова програмування Unix shell", відповідно. Поправте.
Що стосується "дуже складні", то це теж 50/50. У скрипта дуже проста політика: він повинен написати на стандартний висновок щось, придатне для вставляння в /boot/grub/grub.cfg, так що найпростіший скрипт для приміщення, наприклад, потрібної опції в меню груба виглядає не складніше, ніж
#! / Bin / sh
echo <
бла бла бла
EOF
Вносимо зміни БЕЗ ЛАПОК