Решив создать себе загрузочную флешку, и не горя желанием воспроизводить для создания одного файла 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
}

Ну, и конечно-же вам хочется глянуть на результат. Вот он:

Screenshot from 2012-12-31 15:17:08

В следующей записи я покажу, как добавить в grub.cfg код, устанавливающий графический режим, разрешение и фоновую картинку для нашего меню.