Самый популярный менеджер загрузки для современных систем на основе Unix — это GRUB. Или, если точнее, GRUB 2. Вторая версия была полностью переделана и получила новые функции, в числе которых поддержка UEFI, модулей, и сетевой загрузки с последовательным терминалом.
В большинстве современных дистрибутивов Linux в качестве менеджера загрузки используется именно GRUB 2. Помимо функций, необходимых непосредственно для работы с разными способами загрузки, он поддерживает и настройку визуального интерфейса — установку разнообразных тем, шрифтов и обоев. В этой статье мы собрали лучшие темы для Grub.
Устанавливать темы можно двумя способами — вручную и с помощью графической утилиты Grub Сustomizer. Обратите внимание, доступ к настройкам GRUB 2 разрешён только от имени суперпользователя, а это значит, что если у вас нет прав root, то сначала нужно их получить.
Установка темы вручную
Скачайте понравившуюся вам тему и распакуйте её в каталог /boot/grub/themes/. Далее откройте файл /etc/default/grub, отыщите там строчку, начинающуюся со слов GRUB_THEME, и замените её другой:
GRUB_THEME=/boot/grub/themes/папка_темы/тема.txt
Укажите вместо папка_темы и тема.txt название своей папки и темы. Не забудьте удалить знак # в начале строки. Также у вас есть возможность приблизить внешний вид приглянувшейся темы к своему идеалу, сменив обои. Для этого укажите в файле /etc/default/grub путь к фоновой картинке, например:
GRUB_BACKGROUND=/путь/к/картинке
Установка темы с помощью Grub Customizer
В Ubuntu 20.04 Grub Customizer проще всего установить из официального репозитория. Для этого выполните в терминале команду:
sudo apt install grub-customizer
После успешной установки запустите утилиту и введите свой пароль. В открывшемся окне перейдите на вкладку Настройки оформления, нажмите кнопку со знаком + рядом со строкой выбора темы и выберите из списка файлов заранее скачанный архив с темой. Если добавить тему не получается, проверьте, присутствует ли в архиве файл theme.txt.
Многие темы Grub поставляются вместе со скриптом для установки. Если вы выбрали тему, где есть такой скрипт, вам не придется редактировать настройки GRUB 2 вручную или использовать Grub Customizer.
Лучшие темы GRUB
Если в вашем загрузчике GRUB 2 нет оформления или вам наскучил стандартный дизайн, это легко исправить. Ниже мы рассмотрим наиболее популярные и интересные темы, которые можно найти на сайте gnome-look.org.
1. Vimix
Тема в стиле материальном стиле, созданная как дополнение одноимённой темы для GTK. Укомплектована скриптом install.sh, который во многом упрощает её установку. Запускать скрипт нужно дважды; в первый раз он установит зависимости, а во второй саму тему.
2. Tela
Ещё одна тема с материальным дизайном от автора Vimix. Также устанавливается с помощью скрипта install.sh.
3. CyberRe
Кибернетическая тема. Все её элементы окрашены в яркие, контрастные цвета, а благодаря оформлению, схожему с дизайном программ для обработки данных, ваш экран загрузки будет выглядеть очень необычно. Как и две предыдущие темы, устанавливается с помощью скрипта install.sh.
4. Fallout
Эта тема понравится фанатам игры Fallout. Если вы из их числа, устанавливайте новое оформление с помощью утилиты Grub Customizer и ваш экран загрузки будет выглядеть, словно точная копия компьютера из игры.
5. Sleek
Автор темы предлагает на выбор несколько цветовых вариантов: светлый, оранжевый, тёмный и стилизованный под macOS BigSur. В теме можно установить приветствие пользователя по имени; для этого введите желаемое имя во время работы установочного скрипта install.sh.
6. Stylish
Третья материальная тема от Vinceluice — автора Vimix и Tela. Используйте для установки скрипт install.sh.
7. Primitivistical
Примитивная тема для GRUB 2. Её отличительная особенность в том, что при наведении курсора на название дистрибутива рядом с ним появляется соответствующая иконка. При установке скрипт Install.sh распознаёт все имеющиеся на диске операционные системы и задаёт для них изображения.
8. Poly Light
Тема в серых тонах с поддержкой большого количества языков. Можно установить её через Grub Customizer или воспользоваться скриптом install.sh.
9. Atomic
Минималистичная тема с иконками для разных дистрибутивов.
10. Breeze
Тема с иконками и красивой фоновой картинкой. Создана в стандартном для KDE 5 стиле Breeze.
Эту тему можно установить вручную, следуя инструкции, которая дана в начале статьи. Чтобы окно загрузчика выглядело так же, как на скриншоте, выполните в терминале команду:
update-grub
Выводы
Помимо перечисленных здесь тем вы можете найти в интернете другие темы для Grub. В статьи мы постарались как можно подробнее рассказать об установке пользовательских тем для GRUB 2, но если что-то осталось для вас непонятным, оставляйте свой вопрос в комментариях — более опытные читатели обязательно помогут вам его решить.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Grub2 2.00
В необъятных просторах всемирной паутины я не нашёл рукодства по созданию тем для GRUB2, в котором бы были показаны значения всех опций на конкретных примерах. А хочется, чтобы при создании темы результат соответствовал ожиданиями с точностью до пикселя. Поэтому, изучив исходники, я решил написать такое руководство.
Цель документа — дать читателю представление о всех возможностях графического оформления, объяснить ограничения и особенности, предоставить схему для построения темы, в точности соответствующей ожидаемому результату.
Содержание
- 1 С чего начать
- 1.1 создание директории
- 1.2 создание тектового файла
- 1.3 параметр GRUB_THEME в /etc/default/grub
- 1.4 файл конфигурации загрузчика /boot/grub2/grub.cfg
- 2 Общие концепции
- 2.1 Типы элементов
- 2.2 Изображения
- 2.3 Оформление элемента
- 2.4 Шрифты
- 3 Описание тестовой схемы
- 3.1 элементы оформления
- 3.1.1 графический элемент оформления схемы
- 3.1.2 графический элемент оформления схемы
- 3.1.3 оформление меню загрузки
- 3.1.4 фон полосы прокрутки
- 3.1.5 ползунок полосы прокрутки
- 3.1.6 оформление горизонтального индикатора оставшегося времени
- 3.2 изображения
- 3.2.1 центральное изображение кругового индикатора оставшегося времени
- 3.2.2 изображение такта для кругового индикатора оставшегося времени
- 3.1 элементы оформления
- 4 Опции элементов
- 4.1 Общие опции
- 4.2 Корневой элемент
- 4.2.1 desktop-color, desktop-image — фон
- 4.2.2 title-text, title-color, title-font — вид заголовка
- 4.2.3 terminal-box — оформление консоли
- 4.2.4 terminal-font — шрифт консоли
- 4.2.5 message-font, message-color, message-bg-color — не используются
- 4.3 boot_menu — меню загрузки
- 4.3.1 left, top, width, height — координаты прямоугольника
- 4.3.2 item_color, item_font, selected_item_color, selected_item_font — шрифт и цвет пунктов меню
- 4.3.3 seleted_item_pixmap_style, item_pixmap_style — оформление пунктов
- 4.3.4 menu_pixmap_style — оформление меню
- 4.3.5 item_padding — отступ
- 4.3.6 height, item_height, item_spacing — расположение элементов
- 4.3.7 icon-width, icon-height, item_icon_space — иконки и пространство для них
- 4.3.8 Использование иконок
- 4.3.9 scrollbar_frame, scrollbar_thumb, scrollbar_width, scrollbar — скроллбар, полоса прокрутки
- 4.3.10 visible — не показывать меню загрузки
- 4.4 progress_bar — Горизонтальный индикатор обратного отсчёта времени
- 4.4.1 left, top, width, height — координаты прямоугольника
- 4.4.2 id — идентификатор
- 4.4.3 text — текст, выводимый на индикаторе
- 4.4.4 text-color, font — цвет шрифта и шрифт
- 4.4.5 Одноцветный режим и режим с оформлением
- 4.4.6 bg_color, fg_color, border_color — для одноцветного режима
- 4.4.7 bar_style, highlight_style — для режима с оформлением
- 4.4.8 Убрать оформление
- 4.4.9 visible — не показывать горизонтальный индикатор
- 4.5 circular_progress — Круговой индикатор обратного отсчёта времени
- 4.5.1 left, top, width, height — координаты прямоугольника
- 4.5.2 id — идентификатор
- 4.5.3 center_bitmap, tick_bitmap — изображения для кругового индикатора
- 4.5.4 num_ticks, start_angle, ticks_disappear — параметры кругового индикатора
- 4.5.5 Пример
- 4.6 label — текстовая строка
- 4.6.1 left, top, width, height — координаты прямоугольника
- 4.6.2 font, color — шрифт и цвет шрифта
- 4.6.3 align — выравнивание
- 4.6.4 Отобразить время до автоматической загрузки
- 4.6.5 text — отображаемый текст
- 4.6.6 Пример с обычным значением параметра text
- 4.6.7 Пример с особым значением параметра text
- 4.7 image — изображение
- 4.7.1 left, top, width, height — координаты прямоугольника
- 4.7.2 file — путь к файлу
- 4.8 vbox — вертикальный контейнер
- 4.8.1 left, top, width, height — координаты прямоугольника
- 4.8.2 Расположение элементов
- 4.9 hbox — Горизонтальный контейнер
- 4.9.1 left, top, width, height — координаты прямоугольника
- 4.9.2 Расположение элементов
- 4.9.3 Пример
- 4.10 canvas — Канва
- 4.10.1 left, top, width, height — координаты прямоугольника
- 5 Особенности
- 5.1 Порядок прорисовки элементов
- 5.2 Область прорисовки элемента
- 5.3 Минимальный размер элемента
- 5.4 Если числовые значения принимают недопустимые значение
- 5.5 Подбор символа
- 6 Руководство по созданию шрифтов
- 6.1 Создание шрифта c помощью grub2-mkfont
- 6.2 Параметры утилиты grub2-mkfont
- 6.2.1 —output, -o
- 6.2.2 —verbose, -v
- 6.2.3 —name, -n
- 6.2.4 —size, -s
- 6.2.5 —bold, -b
- 6.2.6 ascent, descent или подъём и спусе шрифта
- 6.2.7 Выбрать символы для перекодировки
- 7 Параметры, изменяемые вне theme.txt
- 7.1 Файл /etc/default/grub
- 7.1.1 GRUB_THEME
- 7.1.2 GRUB_BACKGROUND
- 7.1.3 LANG и LANGUAGE
- 7.1 Файл /etc/default/grub
С чего начать
Итак, мы хотим создать собственную тему. Пойдём по порядку.
создание директории
Для начала создадим пустую директорию для хранения файлов новой темы.
Рекомендуется создать под-директорию в /boot/grub2/themes/
(здесь и далее — предполагаем, что загрузчик установлен в директорию /boot/grub2/)
Пусть это будет директория /boot/grub2/themes/test/
создание тектового файла
В созданной директории необходимо создать главный файл темы.
Рекомендуется назвать файл theme.txt.
Итак, мы создали файл /boot/grub2/themes/test/theme.txt
(Здесь и далее — theme.txt или главный файл темы)
параметр GRUB_THEME в /etc/default/grub
Для того, чтобы загрузчик переключился на нашу тему, нужно прописать
в файле /etc/default/grub параметр GRUB_THEME.
Или, проще говоря, добавить строчку GRUB_THEME=/boot/grub2/themes/test/theme.txt.
После знака «=» нужно прописать абсолютный путь к главному файлу темы.
Если в /etc/default/grub уже есть строчка вида GRUB_THEME=…,
то её нужно привести к виду GRUB_THEME=/boot/grub2/themes/test/theme.txt.
Не должно быть двух строк для одного и того же параметра.
файл конфигурации загрузчика /boot/grub2/grub.cfg
До тех пор, пока мы не перегенерируем файл конфигурации загрузчика, наши изменения не вступят в силу.
Обычно в системе есть скрипт update-grub2, который необходимо запустить с правами root.
Если такого скрипта нет, то нужно выполнить (опять же, с правами root) команду grub2-mkconfig -o /boot/grub2/grub.cfg.
Собственно, update-grub2 выполняет именно эту команду.
update-grub2 Необходимо вызывать всякий раз, когда мы вносим изменения в /etc/default/grub.
Почти всё, что касается темы Grub2, описано в theme.txt. Grub2 парсит этот файл каждый раз при загрузке. А значит, чтобы посмотреть изменения, внесённые в theme.txt или в директорию нашей новой темы, достаточно перезагрузиться. update-grub2 прописывает адрес к главному файлу темы в файл конфигурации загрузчика.
Общие концепции
Для начала ознакомьтесь со структурой главного файла.
Каждый параметр имеет определённый тип.
С типами данных можно ознакомиться по следующей ссылке:
Типы данных
Обратите внимание, что глобальные опции и названия компонентов проверяются. И если допущена ошибка, при загрузке будет отображено сообщение об ошибке. Для параметров компонентов это не работает. Если допущена ошибка, то параметр не будет применён и сообщение об ошибке не будет показано.
Типы элементов
Есть несколько предопределённых типов:
- Корневой элемент
- Верхний уровень theme.txt, здесь указываются общие свойства.
- Загрузочное меню (boot_menu)
- Основной элемент, здесь указываются свойства меню загрузки.
- Горизонтальный индикатор обратного отсчёта времени (progress_bar)
- Отображение времени, оставшегося до загрузки пункта по-умолчанию с помощью горизонтальной полосы и или текста.
- Круговой индикатор обратного отсчёта времени (circular_progress)
- Отображение времени, оставшегося до загрузки пункта по-умолчанию с помощью круговой анимации.
- Строка (label)
- Вывод текстовой строки.
- Изображение (image)
- Вывод изображения.
- Вертикальный контейнер (vbox)
- Контейнер, элемент, родительский для других элементов. Отображает элементы по очереди сверху вниз по вертикали.
- Горизонтальный контейнер (hbox)
- Контейнер, элемент, родительский для других элементов. Отображает элементы по очереди слева направо по горизонтали.
- Канва (canvas)
- Контейнер, элемент, родительский для других элементов. Позволяет задать координаты для дочерних элементов.
Корневой элемент — на самом деле, это канва с дополнительными опциями, растянутая на весь экран.
Изображения
Изображения растягиваются до указанных размеров, если указанные размеры больше реального размера изображения. Минимальные значения — реальные размеры изображение.
При выборе фона необходимо учесть эту особенность. Есть различные типы матриц мониторов. На матрице с соотношением сторон 4:3 и на матрице с соотношением сторон 16:9 одно и то же изображение может выглядеть по-разному.
При отображении логотипа рекомендуется использовать абсолютные величины для параметров width и height, чтобы избежать разного рода искажений.
За счёт растяжения удобно делать градиентную заливку — можно сделать полоску с градиентом шириной в 1 пиксель.
Оформление элемента
Оформление элемента состоит из 9 зон — центральная, южная, юго-западная, западная и т.д.
4 угловых зоны (северо-западный и т.д.) не подвергаются растяжению.
Западная и восточная зоны — растягиваются по вертикали.
Северная и южная зоны — растягиваются по горизонтали.
Центральная растягивается по горизонтали и по вертикали.
Если в оформлении присутствует угловая зона — то должны присутствовать обе боковые зоны, соседние по стороне с угловой. Например, если использована северо-восточная зона, то обязательно должны быть северная и восточная зоны. Причём, неизменные величины угловой зоны обязательно должны совпадать с соответствующими величинами боковых зон. В случае нашего примера, высота северо-восточной зоны должна совпадать с высотой северной зоны, а ширина северо-восточной зоны — с шириной восточной зоны.
Шрифты
Шрифты необходимо создавать с помощью специальной утилиты grub2-mkfont. Подробнее в разделе «Создание шрифтов».
Описание тестовой схемы
элементы оформления
Увеличены в 5 раз для наглядности. Alpha-канал — 75%. (прозрачность)
Тёмно-красный фон — для наглядности.
графический элемент оформления схемы
| |
|
|
| |
|
|
| |
|
|
графический элемент оформления схемы
| |
|
|
| |
|
|
| |
|
|
оформление меню загрузки
| |
|
|
| |
|
|
| |
|
|
фон полосы прокрутки
|
| |
|
ползунок полосы прокрутки
| |
| |
| |
оформление горизонтального индикатора оставшегося времени
| |
изображения
центральное изображение кругового индикатора оставшегося времени
|
изображение такта для кругового индикатора оставшегося времени
| |
Опции элементов
Подробное описание значений опций со скриншотами и схемами.
Общие опции
краткое описание
left, top, width, height — Координаты прямоугольника, содержащего элемент.
id — идентификатор. Есть несколько особых значений, которые влияют на поведение некоторых элементов. Использование с другим значениями не приносит никаких бонусов.
Корневой элемент
краткое описание
Корневой элемент — элемент, в котором можно задать некоторые глобальные свойства и в котором размещаются все остальные элементы. Является расширенным элементом типа «канва».
Обратите внимание, что в имени глобальных свойств пишется дефис («-«, например «terminal-box»), а в свойствах элементов — нижнее подчёркивание («_», например «item_height»). Также обратите внимание, что для глобальных свойств используется разделитель двоеточие («:», например «title-text: «GNU Grub»»), а для свойств элементов разделителем является знак равенства («=», например «item_height = 20»).
desktop-color, desktop-image — фон
Первое — цвет фона.
Второе — фоновая картинка.
Если задано desktop-image, то desktop-color не используется.
Картинка должна лежать в директории темы.
Картинка растягивается по размеру экрана.
title-text, title-color, title-font — вид заголовка
Оформление заголовка. Если мы не хотим его отображать, зададим title-text=»».
Текст заголовка всегда будет центрирован по горизонтали и базовая линия шрифта будет отстоять от верхнего края экрана на 40 + подъём (см описание шрифтов)
title-text: "Title Text" title-color: "#FFFFFF" desktop-image: "background.png"

terminal-box — оформление консоли
Графическое оформление консоли.
Оформление рисуется СНАРУЖИ прямоугольника консоли. Координаты консоли неизменные и прописаны в исходном коде. Их можно изменить патчем. Смотри ниже.
Обратите внимание, что консоль рисуется поверх центрального элемента с отступом 3 пикселя со всех сторон.
Фон консоли задаётся в /etc/default/grub. Подробнее ниже.
Изображение для фона консоли должно быть непрозрачным.
По умолчанию вместо центрального элемента будет чёрный экран.
terminal-font — шрифт консоли
Имя шрифта, используемого в консоли.
После добавления шрифта в директорию темы необходимо перезапустить update-grub2.
Подробнее о создании шрифтов в разделе о шрифтах.
title-text: "" desktop-image: "background.png" terminal-font: "Droid Sans Mono Regular 11" terminal-box: "inbox_*.png"
Здесь и далее — глобальные опции будут в точности такими.

message-font, message-color, message-bg-color — не используются
На текущий момент эти параметры можно задать, но они никак не используются.
краткое описание
Основной элемент. Здесь отображается список установленных на компьютере систем и здесь мы выбираем, какую систему мы хотим загрузить.
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их указать.
item_color, item_font, selected_item_color, selected_item_font — шрифт и цвет пунктов меню
Чтобы понимать, какой пункт выбран, нужно его как-то выделить — цветом, шрифтом или оформлением.
item_color, item_font — цвет и шрифт неактивных пунктов меню
selected_item_color, selected_item_font — цвет и шрифт выбранного пункта
+ boot_menu {
left = 50%-300
top = 50%-100
width = 600
height = 300
selected_item_color = "#0000FF"
}

Подробнее о создании шрифтов в разделе о шрифтах.
seleted_item_pixmap_style, item_pixmap_style — оформление пунктов
Оформление рисуется СНАРУЖИ пункта меню.
По умолчанию можно сделать «рамку» только для активного пункта меню.
В ROSA можно сделать оформление для неактивного пунтка.
Обозначим размеры «рамки» выбранного элемента как pad_left, pad_top, pad_right, pad_bottom. Полная высота элемента будет item_height + pad_top + pad_bottom — 1.
Стоит учесть уменьшение на 1, если мы хотим достичь требуемого размера выбранного пункта.
+ boot_menu {
left = 50%-300
top = 50%-100
width = 600
height = 300
selected_item_color = "#0000FF"
selected_item_pixmap_style = "button_*.png"
}

Оформление меню рисуется ВНУТРИ указанного для меню прямоугольника. Размеры оформления учитываются для пунтов меню (пункты меню рисуются в центральной области). Для полосы прокрутки немного сложнее (смотри ниже).
item_padding — отступ
Определяет область прорисовки пунктов меню — прямоугольник внутри центральной области оформления меню (или внутри прямоугольника меню, если не задано оформление меню), с отступом item-padding от всех краёв центральной области (или от краёв прямоугольника меню, если не задано оформление меню).
Обратите внимание, что item_padding не работает для скроллбара. Если требуется изменить отступы скроллбара, переделайте оформление меню и оформление скроллбара (например, добавьте прозрачных пикселей к соответствующим областям).
height, item_height, item_spacing — расположение элементов
Расстояние между нижними краями строчек меню (см иллюстрацию) всегда item_height + item_spacing.
Стоит учесть, что количество выводимых пунктов меню рассчитывается с учётом «рамки» и item_padding, но без учёта pad_top и pad_bottom. (см иллюстрацию)
height нужно рассчитывать по неочевидной формуле. Пусть мы хотим видеть N пунктов. Тогда общую высоту меню нужно выставить равной
2*item_padding + menu_pad_top + menu_pad_bottom + (N — 1)*(item_height + item_spacing)
+ pad_top + pad_bottom + item_height — 1
Также стоит учесть, что минимальное число отображённых элементов (N) — это 3.
Если сделать height меньше величины, вычисленной по формуле, то при достаточном количестве пунктов меню при выборе самого нижнего в списке элемента его «рамка» будет недорисована. Если выбрать больше, то при выборе самого нижнего элемента нижний край скроллбара не будет соответствовать нижнему краю пункта.
+ boot_menu {
left = 50%-300
top = 50%-100
width = 600
height = 289
selected_item_color = "#0000FF"
selected_item_pixmap_style = "button_*.png"
menu_pixmap_style = "inbox_*.png"
item_padding = 20
item_spacing = 20
item_height = 30
}
Высота вычислена по формуле.

icon-width, icon-height, item_icon_space — иконки и пространство для них
По умолчанию,
icon_width = 32 icon_height = 32 item_icon_space = 4
Текст будет дополнительно отступать на icon_width + item_icon_space от левого края области рисования пункта.
Проще говоря, место под иконку оставляется независимо от того, есть иконка или нет.
Если это поведение нежелательно, стоит обнулить icon_width и выставить нужное значение для item_icon_space.
Стоит также учесть, что ширина пунктов меню дополнительно уменьшено на 2 пикселя. Таким образом, справа мы будем иметь дополнительно два пикселя до рамки меню.
Обратите внимание, что символ шрифта может включать пустые пиксели с любой из сторон. Например, в тестовой схеме расстояние от левой «рамки» по умолчанию — 36 (icon_width + item_icon_space), но расстояние до первого пикселя буквы — 37.
Использование иконок
Для того, чтобы использовать иконки, нужно завести директорию image в директории темы.
После этого необходимо поместить в директорию image иконки в формате png с именем, соответствующим классу.
Список классов по-умолчанию:
- windows > os
- gnu-linux > gnu > os
- osx > darwin > os
- hurd > gnu > os
Слева направо по убыванию важности. Если найдена иконка windows.png, то будет отображена она, а не иконка os.png.
Также, для основной системы, под которой был установлен Grub2, доступен класс с её именем. (более важный, чем gnu-linux).
Например, для системы ROSA класс будет «rosa» и тп. Классы можно найти в файле /boot/grub2/grub.cfg.
С патчем, применённым в ROSA, подобный класс выводится для остальных установленных на компьютере операционных систем.
scrollbar_frame, scrollbar_thumb, scrollbar_width, scrollbar — скроллбар, полоса прокрутки
Подробнее про полоску прокрутки.
- Не стоит использовать элементы оформления, отличные от севера, центра и юга для scrollbar_thumb.
- Для scrollbar_frame можно использовать все 9 областей.
- Добавляя прозрачные пиксели к крайним областям scrollbar_frame, можно добиться увеличения отступов от краёв экрана и от пунктов меню загрузки.
- Полоска прокрутки рисуется, начиная от правого края центрального среза. Т.е. если у нас нет оформления меню или в оформлении меню нет восточной части, мы не увидим полоску прокрутки, даже когда она нужна.
- Полоска рисуется только тогда, когда необходима.
- Стоит учесть, что ширина элемента меню уменьшена на 2 пикселя от максимальной. Таким образом расстояние от пунктов меню до скроллбара у нас всегда минимум два пикселя.
- Нужно обязательно указать и scrollbar_frame, и scrollbar_thumb. Если указан только один из элементов, то скроллбар не будет прорисован.
- Ширина scrollbar_frame и scrollbar_thumb может быть разной.
- scrollbar_frame рисуется в восточной части оформления меню. scrollbar_thumb рисуется целиком в центральной части scrollbar_frame.
- scrollbar_width — ширина скроллбара. А именно, ширина центральной части scrollbar_frame. Если сумма scrollbar_width и ширин восточной и западной областей scrollbar_frame меньше ширины восточной части оформления меню, то не вся полоска будет прорисована.
- Можно задать значение False для scrollbar. Тогда полоса прокрутки не будет показана. Можно просто не указывать scrollbar_thumb и scrollbar_frame.
- Как уже говорилось выше, на скроллбар не действует параметр item_padding.
В этом примере к «рамке» не добавлены дополнительные пиксели под скроллбар.
+ boot_menu {
left = 50%-300
top = 50%-100
width = 600
height = 289
selected_item_color = "#0000FF"
selected_item_pixmap_style = "button_*.png"
menu_pixmap_style = "inbox_*.png"
item_padding = 20
item_height = 30
item_spacing = 20
scrollbar_thumb = "scrollbar_thumb_*.png"
scrollbar_frame = "scrollbar_frame_*.png"
scrollbar_width = 10
}
Как видим, скроллбар недорисован.

В этом примере мы заменили «рамку» меню на специально созданную. Далее используем именно такое описание boot_menu.
+ boot_menu {
left = 50%-300
top = 50%-100
width = 600
height = 289
selected_item_color = "#0000FF"
selected_item_pixmap_style = "button_*.png"
menu_pixmap_style = "menu_*.png"
item_padding = 20
item_height = 30
item_spacing = 20
scrollbar_thumb = "scrollbar_thumb_*.png"
scrollbar_frame = "scrollbar_frame_*.png"
scrollbar_width = 10
}
Как видим, теперь скроллбар отображается корректно. Также видим, что item_padding не влияет на скроллбар.

visible — не показывать меню загрузки
Можно задать значение False для visible — тогда меню загрузки не будет показано. Аналогично, можно не описывать компонент boot_menu в главном файле темы.
progress_bar — Горизонтальный индикатор обратного отсчёта времени
краткое описание
Этот элемент служит для отображения времени, оставшегося до автоматической загрузки пунта, выделенного по умолчанию.
Изначально прогресс показывается не от начала индикатора.
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их задать.
Обратите внимание, что если width или height будет меньше, чем необходимо для отображения заданного текста, то width или height будет автоматически увеличено.
id — идентификатор
Чтобы происходило отображение обратного отсчёта времени (текстом или визуально), необходимо задать предопределённое значение для id.
id = "__timeout__"
text — текст, выводимый на индикаторе
Текст, выводимый на индикаторе отсчёта времени.
Есть несколько встроенных особых значений. Они имеют особый смысл и переводятся на разные языки.
- @TIMEOUT_NOTIFICATION_SHORT@ для «Nс»
- @TIMEOUT_NOTIFICATION_MIDDLE@ для «осталось Nс.»
- @TIMEOUT_NOTIFICATION_LONG@ для «Выделенный пункт будет выполнен автоматически через Nс.»
N — это количиство секунд до автозапуска пункта по умолчанию. Строка обновляется каждую секунду.
Также можно задать любое значение.
text-color, font — цвет шрифта и шрифт
Цвет шрифта и шрифт для выводимого на индикаторе текста.
Подробнее о создании шрифтов в разделе о шрифтах.
Одноцветный режим и режим с оформлением
Предусмотрены два варианта оформления:
- одноцветный, с заливкой областей фиксированными цветами и однопиксельной рамкой
- с элементам оформления, или «рамочками»
Если использована хотя бы одна опция для оформления с использованием «рамочек», то будет включён второй режим. Иначе используется первый режим.
Подбробнее далее.
bg_color, fg_color, border_color — для одноцветного режима
+ progress_bar {
left = 50%-300
top = 50%+200
width = 600
height = 50
id = "__timeout__"
text = "@TIMEOUT_NOTIFICATION_LONG@"
border_color = "white"
}
В примере используются значения по умолчанию:
bg_color = "128, 128, 128" fg_color = "200, 200, 200"

bar_style, highlight_style — для режима с оформлением
Обратите внимание, что для highlight_style рекомендуется использовать элементы оформления, состоящие только из центральной области. Иначе индикатор отсчёта времени будет отображён некорректно.
Обратите внимание, что достаточно использовать одну из опций для включения режима.
+ progress_bar {
left = 50%-300
top = 50%+200
width = 600
height = 50
id = "__timeout__"
text = "@TIMEOUT_NOTIFICATION_LONG@"
bar_style = "inbox_*.png"
highlight_style = "progress_*.png"
}

Убрать оформление
Чтобы убрать оформление и оставить только текстовую строку, нужно придать одинаковые значения bar_style и highlight_style.
Значение может быть любым, не обязательно, чтобы оно соответствовало какому-то реальному элементу оформления.
В значении обязательно должен присутствовать символ «*».
В примере текст сообщения сделан белым.
+ progress_bar {
left = 50%-300
top = 50%+200
width = 600
height = 50
id = "__timeout__"
text = "@TIMEOUT_NOTIFICATION_LONG@"
text_color = "white"
bar_style = "*"
highlight_style = "*"
}

visible — не показывать горизонтальный индикатор
Можно задать значение False. Тогда индикатор обратного отсчёта времени не будет отображён. Аналогично, можно просто не указывать индикатор в главном файле темы.
circular_progress — Круговой индикатор обратного отсчёта времени
краткое описание
Круговой индикатор обратного отсчёта времени позволяет отобразить графически время, оставшееся до загрузки пункта по умолчанию.
Отображение оставшегося времени идёт путём прорисовки «тактов».
Если не установлена опция ticks_disappear, то такты появляются (по кругу, по часовой стрелке), пока не замкнут круг.
Если установлена опция ticks_disappear, то такты исчезают.
Всегда рисуется на один такт меньше ожидаемого. Изначально часть тактов может быть прорисована (круговой индикатор начинает заполняться не с нуля).
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их задать. Рекомендуются придать ширине и высоте равные значения. Подробнее об особенностях координат прямоугольника смотрите далее.
id — идентификатор
Чтобы происходило отображение обратного отсчёта времени, необходимо задать значение для id.
id = "__timeout__"
center_bitmap, tick_bitmap — изображения для кругового индикатора
Центральное изображение не масштабируется и не поворачивается. Рисуется в центре указанного прямоугольника. Если изображение меньше прямоугольника, то часть изображения не будет отображена.
Изображение для тактов не масштабируется и не поворачивается. Рисуется многократно по окружности, вписанной в указанный прямоугольник.
Рекомендуются квадратные изображения (ширина и высота совпадают).
Вычисления ведутся по ширине элемента и по ширине такта.
Если ширина элемента больше высоты, то часть тактов не будет прорисована.

Если высота такта будет больше ширины, то такты будут прорисованы некорректно.

Рекомендуется сделать ширину такта такой же чётности, как чётность ширины элемента. (только в таком случае можно добиться корректного симметричного отображения)
num_ticks, start_angle, ticks_disappear — параметры кругового индикатора
num_ticks — количество тактов
start_angle — стартовый угол (относительно оси «x»). Измеряется в «попугаях». Один «попугай» — 1/256 круга. Таким образом, -90 градусов (или -π/2), в «попугаях», будет -64.
По причине того, что tick_bitmap прорисовается без изменений (не поворачивается, не масштабируется, не изменяется), и в силу того, что углы измеряются в оговоренных «попугаях», рекомендуется задавать для num_ticks значения, равные степеням двойки. Таким образом, мы получим более гладкую и симметричную картину.
ticks_disappear — по умолчанию такты появляются, пока не замкнут окружность.

Можно задать для величины ticks_disappear значение True. Тогда такты будут исчезать, пока не исчезнет последний.
ticks_disappear = "True"

Обратите внимание, что на каждом шаге рисуется на один такт меньше ожидаемого количества.
Пример
+ circular_progress {
left = 50%-450
top = 50%+310
id = "__timeout__"
width = 51
height = 51
center_bitmap = "center.png"
tick_bitmap = "tick.png"
num_ticks = 8
}

label — текстовая строка
краткое описание
Мы можем отобразить текст с помощью элемента label.
Также, задав определённым образом id и text, мы можем отобразить время, оставшееся до автоматической загрузки пункта по умолчанию.
Обратите внимание, что строки не переносятся. Если текст не помещается в заданный прямоугольник, он пишется правее до конца экрана.
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их задать.
Обратите внимание, что width используется только для оценки смещения текста, если задан параметр align со значениями «center» или «right».
Также обратите внимание, что height не используется.
font, color — шрифт и цвет шрифта
Цвет шрифта и шрифт для выводимого на элементе текста.
Подробнее о создании шрифтов в разделе о шрифтах.
align — выравнивание
Доступны три значения:
- left — выровнять текст по левому краю элемента
- center — выровнять текст по центру элемента
- right — выровнять текст по правому краю элемента
Отобразить время до автоматической загрузки
Чтобы происходило отображение обратного отсчёта времени, необходимо задать значение для id. И не должен быть указан параметр text.
+ label {
left = 50%-350
top = 50%+260
height = 30
width = 30
id = "__timeout__"
color = "white"
}

text — отображаемый текст
Мы можем отобразить любое текстовое сообщение.
Есть несколько особенных значений.
- @KEYMAP_SHORT@ для отображения ««enter»: загрузка, «e»: параметры, «c»: командная строка»
- @KEYMAP_MIDDLE@ для отображения «Нажмите «enter» для загрузки выбранной ОС, «e» для редактирования команд до загрузки или «c» для получения командной строки.»
- @KEYMAP_LONG@ для отображения «Нажмите «enter» для загрузки выбранной ОС, «e» для редактирования команд до загрузки или «c» для получения командной строки. По ESC осуществляется возврат в предыдущее меню.»
Особенные значения переводятся на выставленный язык.
Обратите внимание, что текст не переносится построчно и не обрезается по ширине.
Пример с обычным значением параметра text
+ label {
left = 50%-300
top = 50%+220
height = 30
width = 600
color = "white"
align = "right"
text = "Some text."
}

Пример с особым значением параметра text
+ label {
left = 50%-300
top = 50%+220
height = 30
width = 600
color = "cyan"
align = "center"
text = "@KEYMAP_SHORT@"
}

image — изображение
краткое описание
Мы можем вывести изображение на экран.
Если высота меньше реальной высоты изображения или не указана, то высоте будет присвоено значение высоты изображения.
Аналогично для ширины.
Если высота или ширина больше реальной высоты или ширины, соответственно, то изображение будет растянуто до указанных размеров.
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их задать.
Если мы хотим отобразить изображение не растянутым, мы можем не задавать width и height — они будут заданы автоматически.
file — путь к файлу
Полный путь к файлу изображения.
vbox — вертикальный контейнер
краткое описание
Контейнер. Элемент, который содержит другие элементы.
left, top, width, height — координаты прямоугольника
Не забудьте указать left и top. height и width указывать не нужно — они всё равно будут переопределены.
Расположение элементов
Элементы, содержащиеся в вертикальном контейнере, выводятся последовательно сверху вниз.
Для дочерних элементов не нужно указывать left и top — эти значения не берутся в расчёт.
Подсчитывается максимум из ширин элементов, содержащихся в вертикальном контейнере, затем всем ширинам элементов и ширине вертикального контейнера задаётся значение этого максимума.
Значения высот дочерних компонентов сохраняются.
+ vbox {
left = 50%+310
top = 50%-50
width = 20
height = 100
#D1
+ image { left = 50 top = 10 width = 60 height = 60 file = "center.png" }
#D2
+ image { left = 40 top = 20 width = 70 height = 70 file = "button_n.png" }
}

hbox — Горизонтальный контейнер
краткое описание
Контейнер. Элемент, который содержит другие элементы.
left, top, width, height — координаты прямоугольника
Не забудьте указать left и top. height и width указывать не нужно — они всё равно будут переопределены.
Расположение элементов
Элементы, содержащиеся в горизонтальном контейнере, выводятся последовательно слева направо.
Для дочерних элементов не нужно указывать left и top — эти значения не берутся в расчёт.
Подсчитывается максимум из высот элементов, содержащихся в горизонтальном контейнере, затем всем высотам элементов и высоте горизонтального контейнера задаётся значение этого максимума.
Значения ширин дочерних компонентов сохраняются.
Пример
+ hbox {
left = 300
top = 50%+310
width = 20
height = 100
#D1
+ image { left = 50 top = 10 width = 60 height = 60 file = "center.png" }
#D2
+ image { left = 40 top = 20 width = 70 height = 70 file = "button_n.png" }
}

canvas — Канва
краткое описание
Контейнер. Элемент, который содержит другие элементы. Координаты элементов, содержащихся в контейнере, являются относительными. Таким образом, (0,0) для содержимого контейнера — это координаты верхнего левого угла контейнера.
Корневой элемент является канвой.
left, top, width, height — координаты прямоугольника
Стандартные параметры, не забудьте их задать.
Особенности
Общие особенности, не относящиеся к конкретному пункту.
Порядок прорисовки элементов
В вертикальном контейнере элементы рисуются сверху вниз, по порядку.
В горизонтально контейнере элементы рисуются слева направо, по порядку.
Элементы, содержащиеся в канве, рисуются в обратном порядке относительно указанного в файле темы. Таким образом, тот элемент который описан в начале файла темы, будет нарисован поверх другого элемента, описанного в конце файла темы.
Область прорисовки элемента
Для каждого элемента определена область прорисовки — с помощью параметров left, top, width, height.
Всё, что выходит за рамки области прорисовки — не будет прорисовано.
Минимальный размер элемента
Для каждого элемента подсчитывается минимально допустимая ширина и минимально допустимая высота. Если указанная в файле темы ширина или высота меньше минимальной ширины или высоты (соответственно), то ширина или высота переопределяются.
Если числовые значения принимают недопустимые значение
Описание числовых значений.
Обратите внимание, что абсолютные и относительные значения берутся относительно родительского контейнера.
Для удобства назовём ширину и высоту родительского контейнера, соответственно, parent_width и parent_height.
Если left или top оказались отрицательными, они приравниваются к 0.
Если left + width оказывается больше, чем parent_width, то width приравнивается к parent_width — left. Таким образом, правый край будет совпадать с правым краем родительского контейнера.
Если top + height оказывается больше, чем parent_height, то height приравнивается к parent_height — top. Таким образом, нижний край будет совпадать с нижним краем родительского контейнера.
Эти особенности мы можем использовать для того, чтобы при разных разрешениях у нас было разное взаиморасположение элементов интерфейса.
Подбор символа
Когда указанный в файле темы шрифт не найден, или в указанном шрифте отсутствуют нужный символ — берется символ из наиболее близкого по параметрам шрифта (среди представленных в теме).
Например, в некоторых шрифтах нет символов для прорисовки рамок, и если задать шрифт консоли именно такой, — то символ рамки будет взять из другого шрифта. Не зная данной особенности, можно долго удивляться неожиданному результату (например, прерывистая рамка)
Руководство по созданию шрифтов
краткое описание
GRUB использует свой собственный формат шрифтов. Эти шрифты можно получить с помощью утилиты grub2-mkfont.
После создания шрифта и помещения его в директорию темы, необходимо перезапустить утилиту grub2-update, чтобы изменения были приняты.
Создание шрифта c помощью grub2-mkfont
GRUB не использует кернинг (изменение межсимвольного расстояния при определённых сочетаниях символов).
Полученный в результате действия утилиты файл обязательно должен иметь расширение .pf2
Синтаксис:
grub2-mkfont INPUT_FONT [дополнительные параметры] -o OUTPUT_FONT
Полученный файл нужно положить в директорию с главным файлом темы.
Параметры утилиты grub2-mkfont
—output, -o
Обязательный параметр. Имя полученного файла. Должно иметь расширение .pf2, чтобы шрифт мог быть прочитан GRUB.
—verbose, -v
grub2-mkfont DroidSansMono.ttf -o tmp.pf2 -v
Font name: Droid Sans Mono Regular 16 Max width: 13 Max height: 17 Font ascent: 17 Font descent: 5 Number of glyph: 591
Отобразить информацию о созданном шрифте.
Отображает имя, максимальную ширину и высоту, подъём и спуск шрифта, количество символов.
—name, -n
Задать имя шрифта.
По умолчанию, имя шрифта формируется следующим образом: ИМЯ_ШРИФТА ТИП РАЗМЕР
—size, -s
Задать размер шрифта в пикселях.
По умолчанию 16.
—bold, -b
Отображить жирный шрифт.
По умолчанию формируется обычный шрифт.
ascent, descent или подъём и спусе шрифта

--asce, -c
ascent или подъём шрифта (см схему)
--desc, -d
descent или спуск шрифта (см схему)
Можно задать эти параметры, если мы хотим получить меньшее большее межстрочное расстояние, выровнять базовую линию (baseline на чертеже). Если мы указываем эти параметры вручную, необходимо проследить, чтобы нужные нам символы были отображены полностью.
Выбрать символы для перекодировки
Мы можем выбрать только определённую группу символов для перекодировки.
--ascii-bitmaps
чтобы перекодировать только ascii символы
--range, -r
чтобы перекодировать выбранный диапазон символов
Параметры, изменяемые вне theme.txt
Настройки, прописанные вне главного файла темы.
Файл /etc/default/grub
GRUB_THEME
Полный путь главного файла темы.
GRUB_BACKGROUND
Полный путь фонового изображения консоли. Данный файл должен быть строго непрозразным. Растягивается до размеров консоли (с учётом 3 пикселей рамки)
LANG и LANGUAGE
Чтобы задать используемый в GRUB язык, нужно указать оба этих параметра. Значения должны совпадать.
Можно использовать различный синтаксис: ru, ru_RU, ru_RU.UTF-8.
Владимир Тестов, ROSA, 2013.

Время прочтения: 10 мин.
2 639
Содержание
Итак, для тех, кому интересно узнать как происходит настройка меню загрузчика Grub2, поделюсь опытом.
Кто-то, наверное, может усмехнуться, сказать: «Открыл вот Америку»… Или: «Изобрёл велосипед»… Да, не открыл. И не изобрёл. Придумано не мной. Я много статей прочитал про это, и там больше вопросов, чем ответов.
Скажу честно, за основу взял пару готовых тем, и кое-что в них доработал. Перефразируя выражение из известного советского фильма «Операция Ы, и другие приключения Шурика…» 🙂:
Всё уже… «придумано» до нас!
Ах,… до нас!..
И ещё, для информации: это больше подойдёт для тех, у кого на компьютере установлено две и более систем, например Windows 7 + Ubuntu (для Windows 10, 11, 8, 8.1, XP и проч. тоже подойдёт). У кого установлена только одна система, но он хочет полюбоваться красотой, расскажу чуть ниже.
Проверено на системе Ubuntu (XUbuntu) 20.04.3 LTS + Windows 7, Linux Mint 20.2 и Debian 11.
Файлы и директории новой темы
С чего начать… В первую очередь откроем терминал: Ctrl + Alt + T (Или Супер + T, она же Win + T, кому как больше нравится) — (все дальнейшие операции будем производить в терминале!). Создадим директорию для своих файлов в «родительской директории», к примеру «~/tema_grub/». Или можете назвать её на свой вкус и цвет (после каждой команды нажимаем Enter, соответственно!):
mkdir -p ~/tema_grub
Переходим в эту директорию:
cd ~/tema_grub
У меня есть уже готовая заготовка, скачиваем следующей командой (немножко длинная, но скопировать и вставить в терминал — нет ничего проще) :
wget https://onstartup.ru/example/iwanoff.zip && unzip iwanoff.zip && rm -f iwanoff.zip
Конфигурация theme.txt
Итак, наша тема скачана и распакована. Для контроля проверяем:
ls -l ~/tema_grub/iwanoff
Должен появиться список файлов. Я назвал эту тему условно (ну так, по себе) 🙂 — «iwanoff». Вы можете назвать её, как угодно, заменив в последствии «iwanoff» на своё название.
Главный файл темы загрузчика Grub2 — «theme.txt». Проверяем его. Переходим в папку с проектом:
cd ~/tema_grub/iwanoff
(я везде указываю абсолютные пути, чтобы не было путаницы), и открываем файл, для просмотра и редактирования. В таких случаях мне больше нравится редактор «gedit». Но, если вы привыкли к другому, то замените «gedit» на свой (здесь и далее):
gedit ~/tema_grub/iwanoff/theme.txt
Если система ругнётся на предыдущую команду, (что, мол, нет такой команды!) то выполните:
Тут потребуется ввести пароль Администратора (Суперпользователя)!
Для Ubuntu и Linux Mint:
sudo apt install gedit
[sudo] пароль для … : (вводим пароль).
Для Debian 11 немного длиннее:
su
Пароль: (вводим пароль)
apt install gedit && exit
а потом снова:
gedit ~/tema_grub/iwanoff/theme.txt
Откроется редактор. Посмотрим на содержимое. Какие-то комментарии я уже поправил для нашего, русского, языка. Всё, что за «#» можете править смело, не сомневаясь.
Цвета, шрифт и фоновое изображение
Итого, что мы видим? Если бегло просмотрим этот документ, то увидим, что он «разбит» на 5 частей. Каждая часть подписана комментарием: «Основные опции», «Главное меню», «Верхний прогресс», «Нижний прогресс» и «Нижнее меню». Вы поймете это, когда увидите меню при загрузке.
Часть первая – «Основные опции»
Смотрим строки сверху.
4-я строка: title-color: "#b0d0d1" — как понимаете, здесь указан цвет заголовка титула Grub2.
В этой Теме (именно Теме — это не сам загрузчик) я постарался подобрать оптимальные цвета, но можете использовать свои. Как рекомендация, все цвета очень хорошо изложены на Википедии.
Ссылочка: HTML-цвета — Википедия
Смотрим далее строки:title-text: "..." — это заголовок Grub2. В кавычках можете указать себя любимого 🙂
desktop-image: — это фон загрузчика. Пока указан мой. Для эксперимента оставьте, а потом можете указать любую картинку в формате «*.png» или «*.jpg/*.jpeg». Название файла только пропишите здесь своё.
Кстати, рекомендации по картинкам:
где-то советуют взять с разрешением вдвое больше разрешения экрана, где-то — вровень с экраном. Скажу так — не меньше экранного разрешения, это точно. Больше — можно, меньше — нельзя. У меня, например, снята на обычный телефон, но в HDR качестве.
Так же можно воспользоваться обоями рабочего стола или найти в поисковике фразу «Обои для рабочего стола», взять любую понравившуюся картинку со своим разрешением, скачать, и установить на фон.
Далее:desktop-color: — это цвет подложки. Шесть нолей («#000000») обозначают «чёрный», но! для подложки — он же «бесцветный» (можно заменить на «black»)! Его рекомендую не править!
terminal-font: "Terminus Regular 16" — это шрифт терминала. Цифра «16» обозначает его величину. Если размер шрифта покажется вам слишком слишком мелким или большим, то в эту Тему предустановлено 4 варианта размера: 12, 14, 16, 18. Вам нужно будет только изменить цифру 16 на ту, которая больше подойдёт.
terminal-box: — это значки для установленных у вас систем. Они выбираются автоматически.
Далее пошли проценты. Это границы отступов от краёв экрана: левый отступ, верхний отступ, высота и ширина. Сейчас они установлены на максимальное использование экрана. Их лучше оставить по умолчанию.
Часть вторая – «Главное меню»
В этой части стоит отметить несколько моментов. Строки с процентами мы опять пропустим — скажу только, что это размеры Главного меню (слева и ширина, сверху и высота).
item_font = "Ubuntu Regular 20" — это шрифт и размер элементов «Меню». Здесь предусмотренно два варианта: 17 и 20 (сейчас по умолчанию «20»).
Кстати, появилось ещё несколько шрифтов с разной величиной (больше или меньше, как под экран будет лучше)… Градация от 14-ти до 26-ти.
item_color =selected_item_color = — цвет элементов меню (текста и фона). Также можете поменять на свои.
icon_width =icon_height = — размер значков установленных систем. Можно сделать чуть больше или меньше.
Части «Верхний прогресс», «Нижний прогресс» и «Нижнее меню» пока пропустим.
В общем-то, для начала, с редактированием всё. Закрываем окно «gedit» «крестиком». Но эту команду (gedit ~/tema_grub/iwanoff/theme.txt) запомните, если потом захотите редактировать цвета, надписи или фон (что самое главное) — она вам понадобится.
Установка заргузчика в систему
Теперь, как это всё установить в загрузчик. Как известно, в Linux-системах он находится в «/boot/grub/». Соответственно, темы для Grub расположены в «/boot/grub/themes/».
Для того, чтобы перенести их, нам потребуются права «root» (администратора). Для начала убедимся, что директории, куда будем загружать Тему, не существует:
(для Debian)
su
и потом для всех вместе (Debian, Ubuntu и Linux Mint):
sudo ls -l /boot/grub/themes/iwanoff
Если вы получили сообщение:
«Нет такого файла или каталога» — значит всё нормально, можем приступать к созданию директории:
sudo mkdir -p /boot/grub/themes/iwanoff
Следующий этап: копируем нашу тему во вновь созданную директорию:
sudo cp -r * /boot/grub/themes/iwanoff
Убеждаемся, что файлы созданы (снова повторяем команду):
sudo ls -l /boot/grub/themes/iwanoff
Получаем список файлов. Скопировано корректно.
Настройка загрузчика
Приступаем к настройке Grub. Для того, чтобы в последующем больше не приходилось перенастраивать файл «grub.cfg», создаём среду для автоматической его регенерации.
Для этого настраиваем конфигурационный файл по умолчанию — «/etc/default/grub». Тем, кто его уже менял, достаточно добавить строчку в самый низ файла:
GRUB_THEME="/boot/grub/themes/iwanoff/theme.txt" и всё. Переходить к финальным итогам (внизу).
Для тех, кто его «трогает» в первый раз — более подробно. Есть два варианта загрузки: первый — это каждый раз загружать одну и ту же систему, а второй — это загружать систему, которая использовалась в последний раз.
То есть, если у вас «завис» компьютер (не важно, в Windows, Ubuntu, Debian, Linux Mint, или другой системе), то можете нажать кнопку перезагрузки и спокойно пойти попить чайку, кофейку (или ещё чего-то).
Компьютер перегрузится, и снова зайдёт в ту же систему, в которой вы в последний раз работали. Для этого создадим новый файл. Но!.. Для начала сохраним резервную копию текущей конфигурации.
Основной файл настроек
На тот случай, если вам не понравится новое меню — вернётесь к стандартной загрузке. Делаем это следующим образом (резервируем):
sudo mv /etc/default/grub /etc/default/grub.bak
Копия уже есть. Создаём новый файл:
sudo gedit /etc/default/grub
В открытом окне редактора вставляем текст:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT="saved"
# GRUB_TIMEOUT_STYLE="hidden"
GRUB_TIMEOUT="60"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
GRUB_SAVEDEFAULT="true"
GRUB_THEME="/boot/grub/themes/iwanoff/theme.txt"
Нажимаем кнопку «Сохранить»…
И, закрываем редактор.
Коротенько поясню: данная конфигурация позволит вам загружаться с последней использованной системы. Это, по сути, замена «Grub-Customizer», который в последнее время так разрекламировали на всю сеть… И без него можем справиться… 🙂
Собственно говоря — и ВСЁ! Настройка закончена!
Да! Внимание! Если у вас открыты какие-то приложения — закройте их, вдруг там есть какая-то важная и не сохранённая информация…
Финальный этап: (я писал об этом выше, для тех, кому только надо добавить в файл «grub» строку: "GRUB_THEME="/boot/grub/themes/iwanoff/theme.txt").
Обновляем загрузчик, перегружаемся… И… Наслаждаемся новым меню!
Для этого вводим команду:
sudo update-grub && sudo reboot
Это займёт около минуты. В процессе вы можете наблюдать за обновлением информации:
«Found….», «Найдена тема……», «Найден образ……», «Найден Windows… XX на sda…»…
Заранее слышу вопрос: «А почему так долго не загружается? Аж 60 секунд?!»
А это для того, чтобы вы успели всё внимательно рассмотреть 🙂 . Можете просто нажать Enter
Ну а когда всё внимательно рассмотрели, и компьютер загрузился (не важно, в первый раз, или вы раз 10 перезагрузились), чуть-чуть подредактируем grub (открываем терминал, вводим):
(для Debian):
su
далее для всех систем Linux:
sudo gedit /etc/default/grub
находим строчку:
GRUB_TIMEOUT="60" - это 60 секунд,
меняем на значение, которое больше устроит (0 — совсем без задержки — это для тех, у кого только одна система, 1, 2, 3, 5, 10, 15, 30 и т.д., сколько хотите…), закрываем редактор, и опять:
sudo update-grub && sudo reboot
За сим всё! Надеюсь, вам всё понравилось! 😉
Верните всё как было!
P.S.:
Да, если вас что-то не устроило, и вы хотите повернуть всё вспять (вернуть, как было), сделайте следующее (в терминале):
(для Debian):
su
для всех (в т.ч., и Debian):
sudo rm -f /etc/default/grub && sudo mv /etc/default/grub.bak /etc/default/grub
sudo rm -R /boot/grub/themes/iwanoff
sudo update-grub && sudo reboot
И снова всё как было, вернётесь к прежней загрузке…… 🙁 🙂
Если у вас появятся вопросы — пишите, постараюсь на них разумно ответить!
А если требуется восстановить загрузку, то почитайте статью: grub rescue – что делать?
P.P.S.:
В следующей статье постараюсь описать, как создать Tему в графической оболочке, и рассказать, что такое файловый менеджер «Krusader». Очень полезная вещь!
Спасибо за внимание!
© Iwanoffъъ
http://iwanoff.ru
Contents
- Choosing a GRUB 2 Background Image
-
Installing Splash Images
- Image Priority
- GRUB 1.99 and later
- GRUB 1.98
- Troubleshooting Splash Images
-
Setting Menu Font Colors
-
GRUB 2 Colors
- About «Black»
- Configuration settings (no splash image)
- Configuration settings (splash image present)
-
GRUB 2 Colors
-
Testing Fonts and Splash Images
- Tips & Techniques for Live Testing
- Changing Menu Resolutions
-
Creating User Splash Images
- Resolution Settings
- Image Creation and Setup
GRUB 2’s splash image/background capability is greatly enhanced over its predecessor, GRUB 0.97. This page provides information on how to add a background image, change font colors and resolutions on the GRUB 2 menu without using a theme. The developers have created a set of compatible background images available as a package download but GRUB 2 accepts a variety of popular image formats. The user may choose any compatible image to use on the GRUB 2 menu.
GRUB 2 themes are becoming more available and are discussed in the Grub2#Themes community documentation. A separate page for themes is under development.
|
|
A collection of compatible background images such as the one to the left is available from the Universe repository in the grub2-splashimages package. |
Choosing a GRUB 2 Background Image
GRUB 2 can use PNG, JPG/JPEG and TGA images for the background. The image must meet the following specifications:
- JPG/JPEG images must be 8-bit (256 color). Else you will get errors saying «Too many Huffman tables». Since most of the time you will not want to limit yourself to 256 colors (which is totally yesteryear) you will probably find PNG much preferable.
- Images should be non-indexed, RGB.
-
The GIMP image editor is one application which can edit images to conform to the GRUB 2 standards. Use the Image > Mode menu options to set the properties to RGB and ensure the mode is not set to Indexed.
Sample GRUB 2 splash images are contained in the grub2-splashimages package in the Universe repository. The package can be installed in several ways:
-
Synaptic (if installed). Select and install grub2-splashimages.
-
Ubuntu Software Center. Search for grub2-splashimages and click the Install button.
- Terminal:
-
sudo apt-get install grub2-splashimages
Once installed, the images are located in the /usr/share/images/grub folder.
-
important The grub-splashimages package was designed for GRUB 0.97 and is not compatible with GRUB 2.
Installing Splash Images
The method to include a background image in Grub 2 varies depending on the version of GRUB installed on the system. Early versions of Grub 1.98, installed on Lucid, are different than later versions of Grub 1.98 installed on Maverick. See the specific instructions for the release you are using. Instructions for Grub 1.97~beta in Karmic Koala (unsupported) are located at the end of this section.
The installed version of GRUB on the system can be obtained by running grub-install -V
The final step in adding the splash image in all the methods described below is to update the GRUB 2 menu. 1. Update GRUB to incorporate the image into the GRUB 2 menu:
-
sudo update-grub
As the command runs, the user should see a terminal message indicating the image was found. If the image is not found, refer to the Troubleshooting Splash Images section of this page.
Image Priority
If more than one suitable image is available to GRUB 2, the following order is used to determine which image is used as the GRUB 2 background.
-
GRUB_BACKGROUND setting in /etc/default/grub
- First image found in /boot/grub
- The first image found, in this order: jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA
- If multiple images of the same extension, alphanumerically.
-
Wallpaper designated in /usr/share/desktop-base/grub_background.sh (if desktop-base installed)
-
WALLPAPER= line in /etc/05_debian_theme * GRUB 1.98 only
-
The default setting is /usr/share/images/desktop-base/desktop-grub.png (the desktop-base package must be installed)
-
-
Default theme (no image): default_theme colors specified in /etc/grub.d/05_debian_theme
Note: Not all these options are available in GRUB 1.98
GRUB 1.99 and later
The following guidance for setting the background image is for GRUB 2 version found in Ubuntu 11.04, Natty Narwhal and later.
GRUB 1.99 greatly simplified adding a GRUB 2 splash image. In addition to the following procedures, the methods detailed for GRUB 1.98 will also work.
Note: Adding a background image requires system folder operations. The user must use administrator privileges to make the required changes.
- Review image requirements in the previous section to ensure the image you select is compatible with GRUB 2.
The user has two options for selecting the splash image to be used. The first requires editing a GRUB 2 configuration file. The second is to copy a compatible image file to the grub folder.
-
Open /etc/default/grub with a text editor.
- Add the following line:
-
GRUB_BACKGROUND=/path/filename
- Example: GRUB_BACKGROUND=»~/Pictures/grubbackround.png»
-
- This option takes precedence over the next method.
- Add the following line:
OR:
-
Place a suitable image in the grub folder.
-
The default location for this folder is /boot/grub.
-
If more than one suitable image resides in the grub folder, the priority for the image used in GRUB 2 is:
- First image found in /boot/grub
- The first image found, in this order: jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA
- If multiple images of the same extension, alphanumerically.
- First image found in /boot/grub
-
- Update GRUB to incorporate the image into the GRUB 2 menu:
-
sudo update-grub
-
GRUB 1.98
The following guidance for setting the background image is for GRUB 2 version 1.98-1ubuntu13 found on Ubuntu 10.04, Lucid Lynx.
The GRUB 2 splash image, if it exists, is selected in the following order:
-
The image specified in /usr/share/desktop-base/grub_background.sh. This script does not exist in a default Ubuntu installation.
-
The file listed in the WALLPAPER line in /etc/grub.d/05_debian_theme.
-
The default file listed in the WALLPAPER line is /usr/share/images/desktop-base/moreblue-orbit-grub.png.
-
This image is present only if the desktop-base package is installed.
-
The image will be used if GRUB 2 locates it in either the /usr/share/images/desktop-base or the /grub folder (normally a subfolder of /boot.
-
The use a different splash image:
-
Open /etc/grub.d/05_debian_theme for editing as root:
-
gksu gedit /etc/grub.d/05_debian_theme
-
-
Find and edit the WALLPAPER= line. Include the new path and filename of the image you wish to use. Save the file when done editing.
- Update GRUB 2.
-
sudo update-grub
-
Troubleshooting Splash Images
If no image appears in the GRUB 2 menu, the following procedures may help determine the problem:
-
If «Found background image: » is not displayed as a terminal message when update-grub is executed, confirm that the file exists and that the path and filename in the appropriate configuration file are correct.
-
The image is of the proper size & format (8-bit JPG/JPEG, PNG, or TGA)
- The file is an RGB, non-indexed image.
-
The console mode is not enabled in /etc/default/grub
-
The update-grub command must be executed to place the background image information into the /boot/grub/grub.cfg file.
-
If the problem is not determined, substituting one of the images provided in the grub2-splashimages package will help determine if the cause is due to an incompatible image.
If the incorrect image appears as the GRUB 2 background:
-
Review the Image Priority section of this document.
-
Run sudo update-grub and view the terminal display to check what image is being selected.
-
Review the Font Background section of this document. The font background must be transparent for an image to be viewable.
Setting menu font colors is normally the job of theme files, which are discussed in greater depth in the Grub2/Themes community document. This section will detail how to change font, highlight and background colors on the GRUB 2 menu without creating detailed themes.
Note that there is a Debian wishlist bug aiming to make the process of specifying custom text/menu colours easier, especially in conjunction with a splashimage. The methods provided below require you to edit different files in different cases. The proposed GRUB patch will enable all settings to be set at a single source i.e. /etc/default/grub. Brave souls can, at their own risk, consider building from Debian GRUB sources with the patch applied or, far easier, just apply the relevant modifications to your already present /etc/grub.d/05_debian_theme and /usr/sbin/grub-mkconfig files once to enable further customization possible solely from /etc/default/grub.
GRUB 2 Colors
For each font color entry, two inputs are required, separated by a /. The first entry is the text color, while the second entry is generally the background color if an image is not present.
-
Example: menu_color_highlight=black/white
GRUB 2 accepts the following colors for the menu fonts and background:
-
black
blue
brown
cyan
dark-gray
green
light-cyan
light-blue
light-green
light-gray
light-magenta
light-red
magenta
red
white
yellow
About «Black»
GRUB 2 treats «black» differently when it is the second entry in a setting, for example » color_normal=white/black «. In this case, black is considered a value for «transparent». The underlying image will be visible rather than the color black. This distinction becomes important when an image is present in the menu. GRUB 2 automatically ignores the menu_color_highlight and menu_color_normal values when an image is present and uses color_normal=white/black and color_highlight=black/white.
Setting the background value of non-highlighted entries black (the «transparency» value) ensures the image will be viewable. Since the developers don’t know what image the user might choose, they selected the other values to provide the best chance that the menuentries will be visible. The colors may be changed to other values when using themes or by writing them directly into the 05_debian_theme file.

Configuration settings (no splash image)
The 3 main font color settings which the user might wish to change on the GRUB 2 menu are listed below. These include the color codings for the menuentries (highlighted and unselected) and the colors of the background and text outside of the menu ‘box’.
-
menu_color_highlight=text-color/bg-color
The color of the highlighted menuentry and its background within the menu ‘box’.
menu_color_normal=text-color/bg-color
The color of non-selected menuentries within the menu ‘box’
color_normal=text-color/bg-color
The color of the text and background outside the menu ‘box’
Each setting contains two values, separated by a /. The first is the foreground color; the second is the background color. In the example below the colors of the text/background are produced by the settings in bold white.
|
|
color_normal=cyan/black * |
|
* Black in this case is treated as a transparency, revealing the Ubuntu 12.04 aubergine. |
|
|
menu_color_highlight=yellow/dark-gray |
|
|
menu_color_normal=black/light-gray |
Although specific theme files should be built and referenced in /etc/default/grub, for Ubuntu users the /lib/plymouth/themes folder contains a relatively empty GRUB 2 theme file referenced during update-grub execution. A user can add basic settings with minimal effort to this file to change the GRUB 2 menu colors if no splash image is detected. Refer to the next section for an explanation of what happens if a splash image is detected. Since this is a system file, administrator/root privileges are required to edit the file.
To modify font colors when no splash image is used:
-
Open /lib/plymouth/themes/default.grub for editing as root.
- Add the following entries below the existing lines. Substitute color values as desired:
-
set menu_color_highlight=yellow/dark-gray set menu_color_normal=black/light-gray set color_normal=yellow/black
-
- Add the following entries below the existing lines. Substitute color values as desired:
-
Save the file and run update-grub The above example entry creates yellow highlighted text on a dark gray bar with black unselected text on a light gray background. Outside the ‘box’ is yellow informational text and an aubergine background. The aubergine background is the result of the Ubuntu 12.04 settings. Ubuntu has a default background of aubergine, and in this case the black setting in color_normal is treated as transparent.
Configuration settings (splash image present)
When an image is present GRUB 2 uses only color_normal and color_highlight settings. Themes are recommended when the user wishes to override the default monochromatic color text scheme. The user can add the menu_color_highlight and menu_color_normal settings to system files if desired.
-
The color of selected menu entries is set by menu_color_highlight setting.
-
The color of non-selected menu entries is set by menu_color_normal setting.
-
The second value of the color_normal entry must be set to black for the image to be visible.
To add menu_color_normal and/or menu_color_highlight values when using a splash image:
-
Open /etc/grub.d/05_debian_theme as root.
- Find the following lines:
-
if [ -z "${2}" ] && [ -z "${3}" ]; then echo " true" fi
-
-
Change the entry to the following, replacing ‘color1’ and ‘color2’ to the desired colors. Leave /black as is!
-
if [ -z "${2}" ] && [ -z "${3}" ]; then # echo " true" echo " set color_highlight=color1/color2" echo " set color_normal=color1/black" fi
-
- Find the following lines:
-
Save the file and run update-grub
Testing Fonts and Splash Images

Tips & Techniques for Live Testing
-
Select the splash image and initial font colors as described above, update GRUB 2’s files with update-grub, and reboot.
- When the GRUB 2 splash image/menu appears, press any key to stop the countdown timer.
-
Press c to enter the GRUB 2 command line.
-
Typing set will display the current settings.
- Experiment with various color/highlight modes. Make changes by typing:
-
set color_normal=color1/color2
-
set color_highlight=color1/color2
-
set menu_color=color1/color2
-
- Text colors are viewable immediately after the command is entered. You can use the «up» arrow to recall the last command and edit it to quicky test different color combinations.
-
Pressing ESC returns the user to the main menu to view the full effect
- Repeat as desired.
- Remember the desired color combinations, boot normally and edit the appropriate file(s).
-
-
Update GRUB 2 if any changes are written to file: sudo update-grub
If the user wishes to change the resolution of the GRUB 2 screen for image enhancement or general font size changes:
-
Set the desired resolution in /etc/default/grub
-
Change the value of GRUB_GFXMODE= (Example: GRUB_GFXMODE=800×600)
-
If unsure of what resolutions are available to GRUB 2 they can be displayed by typing vbeinfo in the GRUB 2 command line. The command line is accessed by typing «c» when the main GRUB 2 menu screen is displayed.
-
- Select an image of the same proportions.
-
GRUB 1.99 — Place the image in the grub folder or add a GRUB_BACKGROUND entry in /etc/default/grub
-
GRUB 1.98 — Change the value of WALLPAPER in /etc/grub.d/05_debian_theme
-
GRUB 1.99 — Place the image in the grub folder or add a GRUB_BACKGROUND= entry in /etc/default/grub
- If an image of the correct size is not used, the menu will not be positioned correctly.
- Use the image editor of your choice to create/resize an image to the correct size.
-
The user may be able to view the image size via Properties in a file browser (check the Properties Image tab in Nautilus).
-
-
Run update-grub to update GRUB 2
Creating User Splash Images
GRUB 2’s splash image management makes it easy to use a wide variety of splash images.
Resolution Settings
The images in the grub2-splashimages package are primarily 640×480 images.
GRUB 2 looks for a resolution setting in /etc/default/grub. If uncommented, the resolution is determined by this line:
-
If no setting is found in /etc/default/grub, GRUB 2 attempts to use the highest resolution possible. GRUB 2 may not be able to handle the same resolutions as the computer can once the operating system is booted.
Image Creation and Setup

- Determine the resolution you will use for the GRUB 2 splash image.
- Create or resize any image to to the appropriate size.
-
GRUB 2 currently supports PNG, TGA, and 8-bit JPG/JPEG images.
- The images should be RGB, non-indexed.
-
If using GIMP, naming the file with the applicable extension will save the file in the given format. Set the correct properties via the «Image > Mode» menu.
-
-
- Make the applicable changes in the GRUB 2 configuration files:
-
/etc/default/grub: Uncomment the GRUB_GFXMODE=640×480 line and change the value if the resolution will be other than 640×480.
- Add the GRUB 2 background image information to the configuration files(s) as discussed previously.
-
-
Run sudo update-grub to incorporate the changes into GRUB 2.
Related Links
Grub2
Grub2/Themes (Under Construction)
Grub2/Submenus
Grub2/Upgrading
CategoryBootAndPartition

Примечание: Периодически выходят новые версии Grub 2 и в настройке Grub могут появляться новые возможности и особенности. Действия, описанные ниже, я выполнял над Grub версии 1.99-21ubuntu3.1 в Ubuntu 12.04 (Unity).
Grub 2 поддерживает изображения в форматах PNG, JPG/JPEG и TGA. Изображения должны быть сохранены в определенном формате (для более подробной информации обратитесь к документации вашей версии Grub). Вы можете использовать свое изображение и сохранить его в нужном формате, например, в редакторе GIMP. А можно воспользоваться готовым набором красивых фоновых изображений из пакета grub2-splashimages.
Устанавливаем фоновое изображение
Установим пакет, который содержит готовые фоновые изображения для Grub2. Выполните в терминале команду:
sudo apt-get install grub2-splashimages
Изображения автоматически устанавливаются в директорию /usr/share/images/grub. Чтобы выбрать нужное изображение откройте эту директорию в файловом менеджере. Например, чтобы открыть ее в файловом менеджере Nautilus, выполните команду:
sudo nautilus /usr/share/images/grub
Теперь нужно прописать путь до вашего изображения в файле конфигурации Grub. Для этого откроем файл конфигурации в редакторе GEdit:
sudo gedit /etc/default/grub
Файл /etc/default/grub содержит различные настройки для Grub 2. Строки, начинающиеся с символа решетка #, являются комментариями и игнорируются. Для указания пути до фонового изображения используется опция GRUB_BACKGROUND. Добавьте в файл следующую строку:
GRUB_BACKGROUND="/usr/share/images/grub/Moraine_Lake_17092005.tga"
В кавычках я указал путь до файла Moraine_Lake_17092005.tga.
Обновляем настройки Grub
Теперь нужно, чтобы Grub обновил свои настройки. Для этого выполните команду (в результате выполнения этой команды настройки ваши автоматически записываются в файл /boot/grub/grub.cfg):
sudo update-grub
В результате на экран будут выводится строки вида:
yuriy@yuriy-NIX:/usr/share/images/grub$ sudo update-grub
Generating grub.cfg ...
Found background: /usr/share/images/grub/Moraine_Lake_17092005.tga
Found background image: /usr/share/images/grub/Moraine_Lake_17092005.tga
Found linux image: /boot/vmlinuz-3.2.0-29-generic
...
Мы видим, что Grub нашел наше изображение (строка «Found background image …»). Если такой строки нет, значит вы неправильно указали путь до файла (путь нужно указывать абсолютный).
Если же вы получили сообщение вида:
yuriy@yuriy-NIX:/usr/share/images/grub$ sudo update-grub
Generating grub.cfg ...
Found background: /home/yuriy/mybg.jpg
Unsupported image format
Это значит, что изображение имеет формат, который не поддерживается загрузчиком Grub.
Перезагружаем компьютер
Итак, если все настройки были выполнены правильно, то можно перезагрузить компьютер и проверить результат.
Изменяем цвет меню Grub (цвет шрифта)
Теперь рассмотрим, как изменить цвета в меню Grub. Цвета можно задать в файле /etc/grub.d/05_debian_theme. Мы установим две опции color_highlight и color_normal:
color_highlight — цвет текущего выбранного пункта меню;
color_normal — цвет остальных пунктов меню.
Цвет задается в виде 2 цветов, разделенных косой чертой — color1/color2:
color1 — это цвет шрифта;
color2 — это цвет фона.
В качестве значений необходимо указать название цвета. Поддерживаются следующие значения: black, blue, brown, cyan, dark-gray, green, light-cyan, light-blue, light-green, light-gray, light-magenta, light-red, magenta, red, white, yellow.
Если в качестве параметра color2 вы используете black, то Grub трактует это, как прозрачный цвет.
Откроем для редактирования файл /etc/grub.d/05_debian_theme:
sudo gedit /etc/grub.d/05_debian_theme
Найдите в нем следующие строки:
if [ -z "" ] && [ -z "" ]; then
echo " true"
fi
Установим в качестве шрифта зеленый цвет, а для подсвеченного (выбранного) пункта меню розовый цвет. Для этого добавьте в файл две строки, в результате вы должны получить:
if [ -z "" ] && [ -z "" ]; then
echo " true"
echo " set color_highlight=magenta/black"
echo " set color_normal=green/black"
fi
Сохраните файл и выполните команду:
sudo update-grub
Теперь осталось перезагрузить компьютер. В моем случае меню Grub стало выглядеть следующим образом:
Installation:
Usage: sudo ./install.sh [OPTIONS...]
-t, --theme theme variant(s) [tela|vimix|stylish|whitesur] (default is tela)
-i, --icon icon variant(s) [color|white|whitesur] (default is color)
-s, --screen screen display variant(s) [1080p|2k|4k|ultrawide|ultrawide2k] (default is 1080p)
-r, --remove Remove theme [tela|vimix|stylish|whitesur] (must add theme name option, default is tela)
-b, --boot install theme into '/boot/grub' or '/boot/grub2'
-g, --generate do not install but generate theme into chosen directory (must add your directory)
-h, --help Show this help
If no options are used, a user interface dialog will show up instead
Examples:
- Install Tela theme on 2k display device:
sudo ./install.sh -t tela -s 2k
- Install Tela theme into /boot/grub/themes:
sudo ./install.sh -b -t tela
- Uninstall Tela theme:
sudo ./install.sh -r -t tela
Issues / tweaks:
Correcting display resolution:
- On the grub screen, press
cto enter the command line - Enter
vbeinfoorvideoinfoto check available resolutions - Open
/etc/default/grub, and editGRUB_GFXMODE=[height]x[width]x32to match your resolution - Finally, run
grub-mkconfig -o /boot/grub/grub.cfgto update your grub config
Setting a custom background:
- Make sure you have
imagemagickinstalled, or at least something that providesconvert - Find the resolution of your display, and make sure your background matches the resolution
- 1920×1080 >> 1080p
- 2560×1080 >> ultrawide
- 2560×1440 >> 2k
- 3440×1440 >> ultrawide2k
- 3840×2160 >> 4k
- Place your custom background inside the root of the project, and name it
background.jpg - Run the installer like normal, but with -s
[YOUR_RESOLUTION]and -t[THEME]and -i[ICON]- Make sure to replace
[YOUR_RESOLUTION]with your resolution and[THEME]with the theme
- Make sure to replace
Contributing:
- If you made changes to icons, or added a new one:
- Delete the existing icon, if there is one
- Run
cd assets; ./render-all.sh
- Create a pull request from your branch or fork
- If any issues occur, report then to the issue page
Preview:
Documents
Grub2 theme reference
Grub2 theme tutorial
Многие пользователи Linux этого не знают, но загрузчик Grub2 можно настроить. Как и любой другой аспект платформы Linux, здесь есть десятки тем, которые нужно просмотреть, а это значит, что каждый найдет что-то для себя!
В этом списке мы рассмотрим некоторые из лучших тем загрузчика Grub2, которые вы можете достать. Вот 5 лучших тем загрузчика Grub2 для использования в Linux.
1. Vimix
Тема Vimix Grub2 — это тема загрузчика для Linux, вдохновленная Google. Он основан на «размытии» и является отличной темой, особенно если вы любите тему Vimix GTK и хотите, чтобы она соответствовала!
Установить — Vimix
Активация темы Vimix Grub начинается с перехода на страницу в стиле Gnome, выбора «Файлы» и загрузки «grub-theme-vimix.tar.xz» на свой компьютер с Linux.
Когда небольшой файл TarGZ «grub-theme-vimix.tar.xz» будет загружен, откройте окно терминала и измените каталог с домашней папки (~) на «Загрузки».
cd ~/Downloads
Распакуйте архив «grub-theme-vimix.tar.xz» с помощью команды Tar.
tar xvf grub-theme-vimix.tar.xz
Перейдите в папку grub-theme-vimix с компакт-диска и запустите сценарий установки, чтобы настроить тему Grub Vimix в Linux.
cd grub-theme-vimix sudo sh install-vimix.sh
2. Fallout
Fallout — привлекательная тема Grub и уникальная тема. Он вдохновлен серией видеоигр Fallout и имитирует внешний вид терминалов, с которыми игрок может взаимодействовать во время игры.
Эта тема может подойти не всем, но если вам нравится олдскульный стиль Fallout, эту тему Grub2 стоит попробовать!
Установить — Fallout
Получение Fallout Grub Настройка темы потрясающе проста, так как у разработчика есть быстрая командная строка для запуска, и загрузка не требуется. Чтобы начать установку, откройте окно терминала и вставьте код ниже.
wget -P /tmp https://github.com/shvchk/fallout-grub-theme/raw/master/install.sh bash /tmp/install.sh
В качестве альтернативы вы также можете установить тему Fallout Grub с помощью одной команды, а не двух, если вы не возражаете против риска безопасности, связанного с запуском напрямую из Интернета, вместо того, чтобы сначала сохранить его.
wget -O - https://github.com/shvchk/fallout-grub-theme/raw/master/install.sh | bash
3. Соляризованная тьма
Solarized Dark — это пурпурная и сине-зеленая тема. Как и Vimix, он привносит плоский материальный дизайн в загрузчик. Дизайн темы меняет структуру Grub с унылого черного экрана на стильную настройку с отличным набором значков операционной системы.
Solarized Dark — отличный вариант Google Material Design для загрузчика Linux Grub. Пользователи, желающие модернизировать свои настройки, должны попробовать это сегодня.
Установить — Solarized Dark
Чтобы подготовить Solarized Dark к работе на вашем ПК с Linux, перейти на страницу Gnome-look для Solarized Dark, и щелкните ссылку «Файлы» на странице. После этого найдите синюю кнопку рядом с «solarized-dark.zip» и выберите ее, чтобы начать загрузку.
После завершения загрузки Solarized Dark на ваш компьютер с Linux используйте команду CD, чтобы переместить сеанс терминала из домашнего каталога (~) в папку «Загрузки».
cd ~/Downloads
Используя команду unzip, извлеките «solarized-dark.zip».
unzip solarized-dark.zip
Переместите папку Solarized Dark в папку темы Grub с помощью mv.
sudo -s mkdir -p /boot/grub/themes/ mv /home/username/Downloads/solarized-dark/ /boot/grub/themes/
В Fedora / OpenSUSE:
sudo -s mkdir -p /boot/grub2/themes/ mv /home/username/Downloads/solarized-dark/ /boot/grub2/themes/
Откройте файл конфигурации Grub в Nano, используя команду ниже.
nano -w /etc/default/grub
Вставьте следующий код в нижнюю часть текстового редактора Nano.
GRUB_THEME »/boot/grub/themes/solarized-dark/theme.txt
Fedora / OpenSUSE:
GRUB_THEME »/boot/grub2/themes/solarized-dark/theme.txt
4. Бриз
Тем, кто использует среду рабочего стола KDE Plasma, необходимо попробовать Breeze. Это полное переписывание загрузочного экрана Grub в соответствии с темой рабочего стола KDE по умолчанию.
Рабочий стол KDE отлично работает со стандартной настройкой Grub, но с темой Breeze ваша система будет намного более полной.
Установить — Бриз
Чтобы тема Breeze Grub работала на вашем компьютере с Linux, начните с перехода на его страницу Gnome-look.org. Затем, когда вы дойдете до страницы, найдите «Файлы» и щелкните по нему, чтобы открыть несколько загружаемых файлов.
Просмотрите раздел «Файлы» на странице Breeze и загрузите «grub2-theme-breeze-5.13.1.tar.gz», нажав синюю кнопку загрузки. Когда файл темы будет загружен на ваш компьютер с Linux, откройте окно терминала и переместите сеанс из домашнего каталога (~) в каталог «Загрузки».
cd ~/Downloads
Используя команду tar, извлеките содержимое «grub2-theme-breeze-5.13.1.tar.gz».
tar xvf grub2-theme-breeze-5.13.1.tar.gz
Разрешите файлам распаковать. Когда процесс извлечения завершен, используйте команду CD для перехода в каталог «grub2-theme-breeze-5.13.1 /».
cd grub2-theme-breeze-5.13.1/
Отсюда вы сможете быстро установить тему Breeze Grub на свой компьютер с Linux с помощью прилагаемого сценария установки, используя команду ниже.
sudo sh install.sh
Primitivisitical — это минималистичная черная тема для Grub с тонкими серыми шрифтами и меню выбора. В целом, очень простая черная тема с небольшим захватывающим дух дизайном или чем-то особенным. Тем не менее, тем, кто ищет что-то простое, понятное и функциональное, наверняка понравится Primitivistical.
Установить — примитивистический
Установка Primitivistical довольно проста, поскольку создатель темы включает простой в использовании сценарий установки. Чтобы получить доступ к сценарию, начните с перехода к Страница в стиле гнома для примитивистических.
Оказавшись на странице темы в стиле Gnome, найдите ссылку «Файлы» и щелкните по ней мышью, чтобы открыть доступные варианты загрузки. В этот момент нажмите синюю кнопку загрузки рядом с «primitivistical-grub-v0.2.tar.gz».
После того, как процесс загрузки завершен, откройте окно терминала на вашем ПК с Linux и используйте команду CD, чтобы перейти в папку «Загрузки».
cd ~/Downloads
Внутри папки «Downloads» используйте команду tar для извлечения содержимого «primitivistical-grub-v0.2.tar.gz».
tar xvf primitivistical-grub-v0.2.tar.gz
Предполагая, что процесс извлечения прошел успешно, используйте команду CD для перехода в новую папку «primitivistical-grub-v0.2».
cd primitivistical-grub-v0.2
Наконец, установите тему Grub на свой компьютер с Linux с помощью:
sudo sh Install.sh
Вывод
В этом списке мы рассмотрели несколько креативных, великолепно выглядящих тем Grub2 для пользователей Linux. Какие ваши любимые темы Grub2 для использования в Linux? Расскажите нам в комментариях ниже!
Содержание
GRUB – стандартный загрузчик Ubuntu начиная с версии 9.10 (до этого был GRUB Legacy). Он позволяет легко устанавливать собственный фон и изменять шрифты для меню загрузки системы.
Не перепутайте GRUB Legacy, использовавшийся в Ubuntu до версии 9.04 включительно, и GRUB, которой используется в Ubuntu начиная с версии 9.10. Несмотря на то, что это фактически две версии одного приложения с названием GRUB, они не имеют ничего общего и являются совершенно разными программами.
Использование фоновых рисунков
GRUB 2 может использовать изображения в форматах PNG, JPG/JPEG и TGA как фон. Изображения должны отвечать следующим требованиям:
-
JPG/JPEG должны быть 8-битными (256 цветов).
-
Цветовая схема изображения должна быть RGB и не индексированной.
Несколько готовых фоновых изображений содержатся в пакете grub2-splashimages. Вы можете установить его при помощи Центра приложений или через терминал:
sudo apt-get install grub2-splashimages
Установленные изображения можно найти в каталоге /usr/share/images/grub.
Приоритет загрузки фона
Если GRUB находит более одного подходящего фонового рисунка, то выбор изображения происходит в следующей последовательности:
-
Переменная
GRUB_BACKGROUNDустановленная в /etc/default/grub -
Первое изображение, найденное в /boot/grub
-
изображения сортируются по расширению в следующем порядке: jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA
-
если существуют несколько изображений с одинаковым расширение, то будет использовано первое в алфавитно-цифровом порядке.
-
-
Обои, указанные в /usr/share/desktop-base/grub_backgorund.sh (если установлен
desktop-base) -
Переменная
WALLPAPERиз /etc/05_debian_theme1)-
по умолчанию значение равно /usr/share/images/desktop-base/desktop-grub.png
-
-
Тема по умолчанию (без фона): цвета
default_themeуказанные в /etc/grub.d/05_debian_theme
Не все вышеперечисленные опции доступны в GRUB 1.98
GRUB 1.99 и новее
Этот раздел описывает установку фонового рисунка для GRUB2, входящего в состав Ubuntu 11.04 и новее.
-
Откройте /etc/default/grub при помощи текстового редактора
sudo gedit /etc/default/grub
-
Добавьте следующую строчку:
GRUB_BACKGROUND=/path/filename
где /path/filename это путь к вашему изображению
-
Обновите настройки GRUB2:
sudo update-grub
GRUB 1.98
Эта часть инструкции подходит только для Ubuntu 10.04.
Выбор фонового рисунка GRUB2 происходит в следующем порядке:
-
Изображение, указанное в /usr/share/desktop-base/grub_background.sh. По умолчанию этого скрипта не существует.
-
Картинка, указанная в переменной
WALLPAPERв /etc/grub.d/05_debian_theme.По умолчанию в
WALLPAPERуказан файл /usr/share/images/desktop-base/moreblue-orbit-grub.png. Это изображение содержится в пакетеdesktop-base, который изначально не установлен.
Чтобы установить собственное изображение откройте файл /etc/grub.d/05_debian_theme от имени root:
gksu gedit /etc/grub.d/05_debian_theme
Найдите строку начинающуюся с WALLPAPER=. Допишите в нее путь к своему файлу с изображением. Обновите GRUB2
sudo update-grub
Цвета пунктов меню
Цвета пунктов меню задаются в файле /etc/grub.d/05_debian_theme. Откройте этот файл
sudo gedit /etc/grub.d/05_debian_theme
и найдите строки
COLOR_NORMAL="black/black" COLOR_HIGHLIGHT="magenta/black"
Первая строка отвечает за цвет не выделенного пункта меню, вторая строка – за цвет выделенного пункта. Значение каждой из этих строк представляет собой два цвета, разделенные слэшем. Первый цвет – цвет текста, а второй – цвет фона строки.
Таблица доступных цветов

Заметьте, что black при использовании в качестве второго параметра (фона) в результате даст прозрачный фон. Использование black в качестве цвета текста дает черный текст.
Ссылки
-
StartUp Manager — графическая утилита предназначенная для изменения настроек в GRUB
Если вы создаете загрузочные флешки при помощи Ventoy, о котором можете прочитать в данной статье, и вам хочется изменить тему загрузочного меню, то эта статья вам поможет это сделать. Как известно, Ventoy использует тему Grub2 для загрузки образов, и автор предоставил нам возможность заменить оформление на свое. Темы же Grub2 для Ventoy вы можете взять с сайта gnome-look.org. Переходите на сайт, выбираете любую понравившуюся вам тему и качаете ее.
Для примера я возьму тему Grub2 под названием “CyberRe“, после того как скачали тему и распаковали ее, переходим к флешке, на которой у вас Ventoy. Там где вы храните ISO образы ваших дистрибутивов создаем папку под названием “ventoy”, в этой папке создаем еще одну папку “theme” куда и помещаем распакованный архив. Замечу, что нас интересует именно папка с темой Grub2, в которой должен находится файл “theme.txt”. В данном случае эта папка называется “CyberRe”:
Вот так выглядит содержимое данной папки, и обратите внимания на весь путь на флешке, вот так должно быть и у вас:
Теперь необходимо создать файл настроек “ventoy.json” в папке “ventoy” у вас на флешке, в этот файл необходимо поместить следующие строки:
{
"control": [
{ "VTOY_DEFAULT_MENU_MODE": "1" },
{ "VTOY_FILT_DOT_UNDERSCORE_FILE": "1" }
],
"theme": {
"file": "/ventoy/theme/CyberRe/theme.txt",
"gfxmode": "1920x1080"
}
}
Обратите внимания на строку “file”: “/ventoy/theme/CyberRe/theme.txt“, это путь до файла “theme.txt” темы Grub2. Тут необходимо указать полный путь до данного файла. А так же обратите внимания на следующую строку “gfxmode”: “1920×1080” отвечающую за размер изображения, оно должно соответствовать тому изображению, которое идет с темой, в данном случае это “background.png” в папке “CyberRe”. Теперь останется только перезагрузить ваш компьютер и загрузится с флешки, в результате у вас должна быть изменена тема Grub2 на ту, которую вы поместили на флешку:
Заключение
После того как я открыл для себя Ventoy, я использую только его. Разработчик Ventoy создал поистине прекрасный продукт, который легко делает мультизагрузочные флешки, поддерживает как Linux, так и Windows с FreeBSD. С помощью Ventoy вы создаете загрузочную флешку, закидываете на нее образы ISO дистрибутивов и пользуетесь в свое удовольствие. А с выходом новой версии дистрибутива, вам достаточно заменить образ ISO файла на новую версию.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
![]() |
БУРГ (Совершенно новый Universal loadeR от GRUB) — это загрузчик для Linux на основе GRUB. Основное различие между ними в том, что BURG позволяет устанавливать визуально очень привлекательные темы, преобразовывая запуск нашей машины в очень приятном опыте. Наконец-то вы сможете выбрать операционную систему, не просматривая черный экран, напоминающий старую DOS! |
Примечание: следуя инструкциям этого мини-руководства, вы измените таблицу разделов основного диска. По этой причине рекомендуется сделать резервную копию всей вашей информации. Ничего не должно происходить, но это рискованная операция, и в случае сбоя вы не сможете загрузить операционную систему.
Установка
1. Добавьте соответствующее репо PPA и установите необходимые пакеты:
sudo add-apt-repository ppa: bean123ch / burg
sudo apt-get update && sudo apt-get install burg burg-themes
2. Установите BURG в MBR (таблицу разделов) вашего основного диска. Это заменит GRUB в качестве загрузчика.
sudo burg-install / dev / sda
sudo update-бург
Примечание: не исключено, что вместо sda придется поставить что-то другое. Чтобы узнать, что именно туда поместить, перейдите в Система> Администрирование> Дисковая утилита. Выберите свой основной или основной диск и посмотрите и найдите, где написано Устройство и путь вашего устройства.
3. Отредактируйте файл конфигурации BURG.
Я бы сказал, что этот шаг не является обязательным, в зависимости от того, насколько «плохое» разрешение экрана при запуске BURG (при запуске компьютера).
sudo gedit / etc / default / burg
Найдите переменную GRUB_GFXMODE и отредактируйте ее, выбрав наиболее подходящее разрешение. Например,
GRUB_GFXMODE = 1024 x 768
Примечание: не забывайте обновлять BURG всякий раз, когда вы вносите изменения в файл конфигурации.
sudo update-бург
Чтобы узнать, как будет выглядеть ваш новый загрузчик, вы можете запустить эмулятор BURG. Уже там вы сможете выбрать тему, которая вам больше всего нравится. 🙂
Судо Бург-Эму
Чтобы настроить BURG по своему вкусу и предпочтению, вы должны использовать следующие сочетания клавиш. Они служат как для эмулятора, так и для самого BURG при загрузке вашей системы:
- t — открыть меню выбора темы
- f — переключение между режимами складывания
- n — перейти к следующему элементу с тем же классом
- w — переход к следующему элементу Windows
- u — переход к следующему элементу Ubuntu
- e — Редактировать команду текущего элемента автозагрузки
- c — Открыть окно терминала
- 2 — Откройте два окна терминала
- h — Показать диалоговое окно справки (доступно только в теме Sora)
- i — Показать о диалоге (доступно только в теме Sora)
- q — Вернуться в старое меню GRUB
- F5 / ctrl + x — завершить редактирование
- F6 — переключает окна в режиме двойного оконного терминала
- F7 — список сложенных предметов обуви
- F8 — переключение между графическим и текстовым режимами
- F9 — выключить
- F10 — перезапуск
- ESC — выход из текущего раскрывающегося меню или диалогового окна.
Чтобы установить новую тему, вам просто нужно скопировать папку, содержащую файлы темы, в / загрузка / бург / темы /
Я рекомендую вам установить эту отличную песню для BURG, в которой используется новый Фаэнца иконы:
Fortune: @ http://gnome-look.org/content/show.php/Fortune+-+BURG+Theme?content=128929
Вот как может выглядеть загрузка вашей системы! Чего ты ждешь?
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

































