Создание grub.cfg без использования скриптов, генерирующих данный файл
Решив создать себе загрузочную флешку, и не горя желанием воспроизводить для создания одного файла grub.cfg всю инфраструктуру по генерации конфигурационного файла для grub2(основанную на куче скриптов), я принял решение создать grub.cfg ручками. В обычном текстовом редакторе.
Что обязательно должно быть в файле конфигурации GRUB2?
Пункт меню, выбранный по умолчанию и задержка(в секундах) перед загрузкой пункта, выбранного по умолчанию. Если пользователь переходит к другому пункту меню, отсчёт таймера останавливается. Для указания пункта, загружаемого по умолчанию и задержки перед автоматической загрузкой, добавьте в grub.cfg эти строки:
set default="0"
set timeout=10
Для указания шрифта, используемого grub2 укажите путь к файлу этого шрифта в формате pf2. Файлы шрифтов для grub2 можно найти в директории /usr/share/grub, откуда можно скопировать нужный шрифт в каталог /boot/grub/fonts(если его там у вас нет, конечно). У меня это путь к unicode.pf2, благодаря которому можно использовать в том числе и символы кириллического алфавита. Добавьте в файл grub.cfg строку:
set font="/boot/grub/fonts/unicode.pf2"
Теперь нужно указать цвет фона для обычного и подсвеченного(выбранного) пункта меню. Делается это заданием двум переменным значений цветов фона и цвета шрифта. В первом случае(не подсвеченный пункт меню) цвет текста будет белым, на чёрном фоне. Для подсвеченного пункта меню я выбрал чёрный текст на светло-сером фоне. Добавляем в grub.cfg следующие строки:
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
Ну, и напоследок, создадим два пункта для нашего меню: перезагрузка и выключение компьютера:
menuentry "Shutdown the Computer" {
halt
}
menuentry "Reboot the Computer" {
reboot
}
Ну, и конечно-же вам хочется глянуть на результат. Вот он:
В следующей записи я покажу, как добавить в grub.cfg код, устанавливающий графический режим, разрешение и фоновую картинку для нашего меню.