Как я могу получить некоторые приятные темы для темы для grub?

файл конфигурации загрузчика /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 прописывает адрес к главному файлу темы в файл конфигурации загрузчика.

Общие концепции

Для начала ознакомьтесь со .

Каждый параметр имеет определённый тип.

Обратите внимание, что глобальные опции и названия компонентов проверяются. И если допущена ошибка, при загрузке будет отображено сообщение об ошибке

Для параметров компонентов это не работает. Если допущена ошибка, то параметр не будет применён и сообщение об ошибке не будет показано.

Немного теории

Как я уже сказал, основная задача загрузчика — предоставить возможность выбора операционной системы перед загрузкой. Не думайте, что в Windows загрузчик не используется, там он тоже есть и работает, подобно тому, как работает Grub.

Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях MBR vs GPT можно почитать в отдельной статье. Тут же я скажу, что GPT — более новая и функциональная таблица разделов, MBR — уже устаревшая, но до сих пор часто используемая.

В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.

GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.

UEFI предоставляет совсем иной способ установки загрузчика. Тут его не нужно никуда записывать, загрузчик — это обычное приложение EFI, которое помещается на раздел EFI и уже там полностью успешно работает наряду с другими приложениями.

Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:

$ grub-install опции диск

Параметров здесь достаточно много, но нам будут нужны только некоторые:

  • —compress — сжать файлы загрузчика;
  • —install-modules=модули — установить только эти модули;
  • —modules — записать эти модули в MBR;
  • —boot-directory — использовать другой каталог для файлов Grub;
  • —bootloader-id — имя загрузчика в меню EFI;
  • —core-compress — сжимать образ, загружаемый в MBR;
  • —efi-directory — использовать системный раздел EFI;
  • —force — установить несмотря на ошибки;
  • —recheck — удалить существующую карту устройств, помогает если возникают ошибки;
  • —removable — установка grub на флешку (только EFI);

Основу разобрали. Теперь перейдем к установке. Дальше я буду предполагать, что все действия выполняются из системы, для которой нужно установить загрузчик или из chroot окружения этой системы.

Типы элементов

Есть несколько предопределённых типов:

Корневой элемент
Верхний уровень theme.txt, здесь указываются общие свойства.
Загрузочное меню (boot_menu)
Основной элемент, здесь указываются свойства меню загрузки.
Горизонтальный индикатор обратного отсчёта времени (progress_bar)
Отображение времени, оставшегося до загрузки пункта по-умолчанию с помощью горизонтальной полосы и \ или текста.
Круговой индикатор обратного отсчёта времени (circular_progress)
Отображение времени, оставшегося до загрузки пункта по-умолчанию с помощью круговой анимации.
Строка (label)
Вывод текстовой строки.
Изображение (image)
Вывод изображения.
Вертикальный контейнер (vbox)
Контейнер, элемент, родительский для других элементов. Отображает элементы по очереди сверху вниз по вертикали.
Горизонтальный контейнер (hbox)
Контейнер, элемент, родительский для других элементов. Отображает элементы по очереди слева направо по горизонтали.
Канва (canvas)
Контейнер, элемент, родительский для других элементов. Позволяет задать координаты для дочерних элементов.

Корневой элемент — на самом деле, это канва с дополнительными опциями, растянутая на весь экран.

Breeze

Those using the KDE Plasma desktop environment need to check out Breeze. It’s a complete re-write of the Grub boot screen to match the default KDE desktop theme.

The KDE desktop works fine with the standard Grub setup, but with the Breeze theme, your system will feel much more complete.

Install – Breeze

To get the Breeze Grub theme working on your Linux PC, start by going to its Gnome-look.org page. Then, once you’ve made it to the page, find “Files” and click on it to reveal the several downloadable files.

Look through the “Files” section on the Breeze page and download “grub2-theme-breeze-5.13.1.tar.gz” by clicking the blue download button. When the theme file is done downloading to your Linux PC, open up a terminal window and move the session from the home directory (~) and into the “Downloads” directory.

cd ~/Downloads

Using the tar command, extract the contents of “grub2-theme-breeze-5.13.1.tar.gz”.

tar xvf grub2-theme-breeze-5.13.1.tar.gz

Let the files extract. When the extraction process is done, use the CD command to move into the “grub2-theme-breeze-5.13.1/” directory.

cd grub2-theme-breeze-5.13.1/

From here, you’ll be able to quickly install the Breeze Grub theme onto your Linux PC with the included installation script using the command below.

sudo sh install.sh

Установка Grub2 в Windows 7

Grub2 может быть установлен в операционных системах Windows.
Особенно хорошо он «вписывается» в Windows 7′ в связи с тем, что эта ОС выделяет под загрузку специальный скрытый раздел.

Для установки в Grub2 в Windows 7

  • запускается современный LiveCD диск с установленной Linux системой и последней версий загрузчика, например Parted Magic
  • монтируется раздел жёсткого диска с установленной Windows 7
  # mount -t ntfs /dev/sda1 /media/sda1
  # mount -t ntfs /dev/sda2 /media/sda2
  • перемещаются загрузочные файлы Windows 7 — bootmgr, bootsect.bak и каталог Boot/ — со скрытого раздела жёсткого диска (/dev/sda1) на системный (/dev/sda2)
  • устанавливается Grub2 на первый (скрытый) раздел жёсткого диска и в MBR
  # grub-install --modules=ntfs --recheck --no-floppy --root-directory=/media/sda1 /dev/sda
  на устройстве /media/sda1 появляются файлы Grub2 в каталоге /media/sda1/boot
  • в файле конфигурации
  menuentry "Windows 7" {
     set root=(hd0,2)
     chainloader +1
  }

Теперь при перезапуске появится меню Grub2 с пунктом выбора «по цепочке» загрузчика Windows 7.

Ссылки:

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 xvf grub-theme-vimix.tar.xz

Перейдите в папку grub-theme-vimix с помощью компакт диски запустите сценарий установки, чтобы настроить тему Grub Vimix в Linux.

cd grub-theme-vimix
sudo sh install-vimix.sh

What if number values are incorrect

Note, that absolute and relative values are counted relative to the parent container.

Lets call width and height of the parent container parent_width and parent_height correspondingly.

It left or top are negative — it will be redefined to 0.

If left + width is greater than parent_width then width will be redefined to parent_width - left. That way, right edge of the element will match right edge of the parent container.

If top + height is greater than parent_height then height will be redefined to parent_height - top. That way, bottom edge of the element will match bottom edge of the parent container.

We can use this features to achieve different composition of elements on different screen resolutions.

hbox — Горизонтальный контейнер

Контейнер. Элемент, который содержит другие элементы.

Расположение элементов

Элементы, содержащиеся в горизонтальном контейнере, выводятся последовательно слева направо.

Для дочерних элементов не нужно указывать 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" }
}

Команды консоли

Grub2 позволяет осуществить переход в командую консоль управления.
Для этого в момент отображения меню загрузки следует нажать клавишу C.

В консоли управления доступны команды

  ls                      - отображение списка жестких дисков и  разделов
  ls (hd0,1)              - отображение информацию об указанном разделе, например
                           тип файловой системы, метку, UUID и дату последнего изменения данных
  ls /boot/grub           - отображение содержимого папки
  cat /путь/имя_файла     - вывод содержимого указанного файла
  linux файл_ядра параметры   - загрузка ядра linux с указанными параметрами
  initrd файл                 - загрузка образа стартовой файловой системы initrd
  chainloader +1          - передача управления загрузкой по цепочке другому MBR с установленного командой root раздела
  chainloader /путь/имя_файла - передача управления загрузкой по цепочке другому загрузчику

root — вывод информации о текущем корневом карзделе
root (hd0,1) — установка корневого раздела
Внимание! Во избежание несовместимостей более правильным является использование команды «set root»

  set переменная=значение     - задание значений переменных например
  set root=(hd0,1)            - (пример) установка корневым разделом, второго раздела первого жёсткого диска
  set color_normal=magenta/green        - установка цвета для обычного пункта меню (и текста в консоли) 
  set color_highlight=light-blue/black  - установка цвета для выделенного пункта меню
  search                  - поиск раздела по UUID, метке или заданному файлу.
   Имеет следующие ключи:
   -u (или –fs-uuid)      - поиск раздела по UUID
   -l (или –label)        - поиск по метке раздела
   -f (или –file)         - поиск по указанному файлу
   -n (или –no-floppy)    - не проверять флоппи-дисковод 
   -s (или –set)          - установить найденный раздел в качестве значения заданной переменной
  lsfonts                 - отображение списка загруженных в настоящий момент шрифтов
  help                    - вывод списка доступных команд
  help l                  - вывод справки по всем командам, начинающимся на «l»
  help search             - вывод справки о команде «search»
  halt                    - выключение питания компьютера
  reboot                  - перезагрузка компьютера
  background_image /путь/имя_файла      - изменение фонового изображения в текущем сеансе
                background_image позволяет изменить изображение "на лету" - избегая перезагрузки. В сочетании с
                установкой цветов командой set позволяет подобрать подходящий вариант оформления в интерактивном режиме.
  background_image                      - (при использовании без параметров) сброс текущего фонового изображениея
  terminal_output.console               - переключение на черно-белую цветовую гамму.

Ссылки:

help.ubuntu.ru: GRUB — загрузчик системы

Бриз

Тем, кто использует среду рабочего стола 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

С использованием деготь , извлеките содержимое «grub2-theme-breeze-5.13.1.tar.gz».

tar xvf grub2-theme-breeze-5.13.1.tar.gz

Разрешите файлам распаковать. Когда процесс извлечения завершен, используйте компакт диск команда для перехода в каталог «grub2-theme-breeze-5.13.1 /».

cd grub2-theme-breeze-5.13.1/

Отсюда вы сможете быстро установить тему Breeze Grub на свой компьютер с Linux с помощью прилагаемого сценария установки, используя команду ниже.

sudo sh install.sh

файл конфигурации загрузчика /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 прописывает адрес к главному файлу темы в файл конфигурации загрузчика.

Общие концепции

Для начала ознакомьтесь со .

Каждый параметр имеет определённый тип.

Обратите внимание, что глобальные опции и названия компонентов проверяются. И если допущена ошибка, при загрузке будет отображено сообщение об ошибке

Для параметров компонентов это не работает. Если допущена ошибка, то параметр не будет применён и сообщение об ошибке не будет показано.

Parameters of grub2-mkfont

--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

Display information about the created font.

Displays name, maximum width and height, ascent and descent of the font, quantity of symbols.

Set the font’s name.

By default, font’s name is auto-created with template: FONT_NAME TYPE SIZE

Set the font’s size in pixels.

The value is 16 by default.

Output bold font.

It is normal by default.

ascent, descent of the font

--asce, -c

ascent of the font (see picture)

--desc, -d

descent of the font (see picture)

We can set these parameters to achieve larger \ lesser line spacing, to align the baseline (see picture). If we are going to set these parameters we should watch carefully that every needed symbol is correctly displayed.

Select range of symbols to encode

We can set a range of symbols to encode.

--ascii-bitmaps

to encode only ascii symbols

--range, -r

to encode the given range of symbols

Options, which are set outside of the main theme file.

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

Настройка Grub через конфигурационные файлы

Сразу нужно сказать, что существует два способа настройки Grub Ubuntu, через конфигурационные файлы. Первый — через конфигурационный файл утилиты grub-mkconfig, который позволяет задать общие параметры для загрузчика и ручное редактирование /boot/grub/grub.cfg.

Первый — рекомендованный, и с помощью него можно настроить большинство параметров, в этом случае настройки не собьются, когда вы обновите ядро или загрузчик. Второй вариант еще более гибкий, но после любого обновления вы потеряете свои настройки. Так что то что можно настроить через /etc/default/grub настраиваем через него, все остальное — через /boot/grub/grub.cfg. Сначала рассмотрим первый вариант.

Настройка Grub через /etc/default/grub

Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.

  • GRUB_DEFAULT — указывает какой пункт нужно загружать по умолчанию. Может быть указан номер, или полное название или же строка saved, которая значит, что нужно загрузить пункт, указанный с помощью grub-reboot;
  • GRUB_SAVEDEFAULT — загружать последнюю использованную запись по умолчанию;
  • GRUB_HIDDEN_TIMEOUT — сколько секунд ждать перед тем, как вывести меню;
  • GRUB_HIDDEN_TIMEOUT_QUIET — если установлено true, то меню не будет показано;
  • GRUB_TIMEOUT — сколько секунд будет показано меню;
  • GRUB_CMDLINE_LINUX — добавить опции ядра для всех ядер, как обычных, так и режима восстановления;
  • GRUB_CMDLINE_LINUX_DEFAULT — добавить опции ядра только для обычных ядер;
  • GRUB_CMDLINE_LINUX_RECOVERY — опции ядра, только для режима восстановления;
  • GRUB_BADRAM — указать адреса оперативной памяти, которые не нужно использовать;
  • GRUB_TERMINAL — модуль терминала для Grub. Можно использовать console, только для текстового режима или gfxterm с поддержкой графики;
  • GRUB_GFXMODE — разрешение экрана в Grub, лучшие использовать auto, чтобы система выбрала сама то что ей нужно.
  • GRUB_DISABLE_RECOVERY — не включать в меню пункты восстановления;
  • GRUB_DISABLE_OS_PROBER — не искать другие операционные системы;
  • GRUB_BACKGROUND — адрес картинки для фона, должна находиться в той же папке что и файлы grub;
  • GRUB_THEME — устанавливает тему Grub.

Например, можно использовать такую конфигурацию:

Но как вы могли понять, этим способом вы не можете настроить порядок пунктов загрузки, а также некоторые другие параметры, поэтому давайте рассмотрим настройку непосредственно конфигурационного файла Grub.

circular_progress — Круговой индикатор обратного отсчёта времени

Круговой индикатор обратного отсчёта времени позволяет отобразить графически время, оставшееся до загрузки пункта по умолчанию.

Отображение оставшегося времени идёт путём прорисовки «тактов».

Если не установлена опция ticks_disappear, то такты появляются (по кругу, по часовой стрелке), пока не замкнут круг.

Если установлена опция ticks_disappear, то такты исчезают.

Всегда рисуется на один такт меньше ожидаемого. Изначально часть тактов может быть прорисована (круговой индикатор начинает заполняться не с нуля).

left, top, width, height — координаты прямоугольника

Стандартные параметры, не забудьте их задать. Рекомендуются придать ширине и высоте равные значения. Подробнее об особенностях координат прямоугольника смотрите .

Чтобы происходило отображение обратного отсчёта времени, необходимо задать значение для 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
}

Что такое GRUB?

Загрузчик или менеджер загрузки

Я не хочу запутать вас на этом этапе, но эта тема нуждается в разъяснении перед тем, как мы продолжим. Разница между менеджером загрузки и загрузчиком весьма размыта.

Вы уже знаете, что сначала стартует загрузчик, затем он загружает ядро в память и запускает его. Менеджер загрузки — это программа, которая позволяет вам выбрать между операционными системами, если на вашей системе их больше одной. Менеджер загрузки не запускает операционную систему напрямую.

Ядро Linux версии 3.3 включает в себя встроенный загрузчик EFI. Фактически, любая операционная система, способная работать с EFI включает в себя загрузчик EFI. В системах с поддержкой EFI системная прошивка считывает системный раздел EFI (ESP) для обнаружения файлов EFI на загрузочном разделе.

GRUB — это одновременно загрузчик и менеджер загрузки. Через секунду я вернусь к GRUB. Сначала давайте взглянем на другие GRUB — подобные программы.

Примечание: GRUB — это аббревиатура для GRand Unified Bootloader (большой объединённый загрузчик).

2. Какие существуют загрузчики, похожие на GRUB?

GRUB — наиболее популярный загрузчик для Linux. Но не единственный. Есть ещё менеджер загрузки rEFInd, который нравится некоторым пользователям Linux.

Персонализированный экран менеджера загрузки rEFInd

Существует также текстовый менеджер загрузки systemd-boot . Вы можете догадаться, что он предназначен только для дистрибутивов, основанных на systemd. Некоторые дистрибутивы, как Pop OS, используют systemd-boot.

systemd-boot в Pop OS

Про другие загрузчики читайте в статье Лучшие загрузчики для Linux.

3. Доступ к опциям и настройкам GRUB

Обычный экран GRUB, который вы видите — это интерфейс меню. Он позволяет вам выбрать, какую операционную систему загрузить, если на вашей машине более одной ОС. Вы также можете выбрать другое ядро для вашего дистрибутива Linux, если у вас установленно более одного.

В зависимости от настроек, у вас могут быть другие опции в меню GRUB. Вы можете редактировать меню GRUB. нажав кнопку Е. Таким способом вы можете менять параметры ядра перед его загрузкой. Например, в некоторых случаях отключение драйвера графики поможет загрузить зависшую при старте систему.

Вы также можете войти в командную строку GRUB используя кнопку C в меню GRUB.

4. Файл настроек GRUB

Любые изменения, которые вы делаете из меню GRUB — временные. Если вы хотите сохранить настройки GRUB, например, изменить паузу перед автоматической загрузкой по умолчанию, то вы можете изменить настройки после загрузки системы Linux.

Стандартный файл настроек GRUB находится в /etc/default/grub. Также есть папка /etc/default/grub.d. Вы можете редактировать файл /etc/default/grub напрямую, однако рекомендуется сохранять дополнительные изменения в вышеуказанной папке.

Стандартный файл настроек GRUB

Вы должны обновить GRUB для того, чтобы ваши изменения стали действовать. Фактически, когда бы вы ни установили дополнительный дистрибутив Linux на ваш компьютер, он попытаться переписать существующие настройки GRUB своими. Подробнее о настройках Grub читайте здесь.

5. GRUB customizer для лёгкой настройки GRUB

Если редактирование файла текстовым редактором в терминале — не то, что вам нравится, то вы можете использовать графическую утилиту, называющуюся GRUB Customizer. Она позволяет вам менять порядок загрузки, задержку загрузки и т.п. Вы также можете изменить фон GRUB на обои по своему усмотрению.

GRUB Customizer может быть установлен в Ubuntu 20.04 из репозитория Universe и через PPA в Ubuntu 18.04. Он также доступен через AUR в дистрибутивах, основанных на Arch Linux. Подробнее про использование Grub Customizer рассказано в этой статье.

Как работает GRUB?

Когда компьютер загружается, BIOS передает управление первому загрузочному устройству, которое может быть жестким диском, дискетой, CD-ROM или другим устройством, распознаваемым BIOS. Для простоты будем считать, что это жесткий диск.

Первый сектор жесткого диска называется (Главная Загрузочная Запись). Длина этого сектора всего 512 байт. Он содержит небольшой фрагмент кода (446 байт), который называется основной загрузчик, и таблицу разделов (64 байта). Таблица разделов содержит описание первичных и дополнительных разделов жесткого диска.

По умолчанию, код MBR просматривается на активном разделе и если он найден, то загружается в память его загрузочный сектор и ему передается управление.

GRUB заменяет код MBR по умолчанию собственным кодом.

При этом работа GRUB состоит из нескольких .

размещение в MBR. Из-за малого объема MBR размещается только ссылка для перехода к , которая содержит все требуемые данные.

переход к конфигурационному файлу, который содержит все компоненты пользовательского интерфейса и настройки, необходимые для работы GRUB. Стадия 2 может находиться в любом месте на диске. Если в результате работы Стадии 2 не найдена конфигурационная таблица, GRUB прекратит процесс загрузки и предоставит пользователю возможность выбрать вручную загрузочную конфигурацию из командной строки.

Еще существует , которая используется, если загрузочная информация не может быть размещена непосредственно после MBR.

Структура Стадии позволяет GRUB иметь довольно большой объем (~20-30К). Поэтому 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:

Найдите в нем следующие строки:

Установим в качестве шрифта зеленый цвет, а для подсвеченного (выбранного) пункта меню розовый цвет. Для этого добавьте в файл две строки, в результате вы должны получить:

Сохраните файл и выполните команду:

Теперь осталось перезагрузить компьютер. В моем случае меню Grub стало выглядеть следующим образом:

Команды консоли GRUB

Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.

ls

Довольно универсальная команда при использовании в чистом виде выдает список жестких дисков и разделов. Также она может быть использована как одноименная команда в Linux — для вывода содержимого папки. например:

ls /boot/grub

Еще одно полезное свойство комадны «ls» — она позволят получить информацию о любом разделе:

ls (hd0,5)

Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).

Данная команда выводит содержимое заданного файла, используется в формате:

cat /путь/имя_файла

linux

Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:

linux файл_ядра опция1=значение опция2 опция3

Например, так:

linux /boot/vmlinuz-2.6.32-020632-generic root=/dev/sda5 single

initrd

Загружает указанный initrd-образ. Используется так:

initrd /boot/initrd.img-2.6.32-020632-generic

Обратите внимание, что версия initrd должна соответствовать версии загружаемого ядра!

chainloader

Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:

chainloader /путь/имя_файла

Для (загрузчика Windows) можно использовать:

chainloader +1
boot

root

При использовании без параметров сообщает, какой раздел сейчас используется в качестве корневого и тип файловой системы на этом разделе, также команда может быть использована для задания другого root-раздела. Раздел задается в «grub device» — формате »(hd*,*)«. например:

root (hd0,5)

После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)

set

Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:

set переменная=значение

Наиболее необходимое ее применение — для задания root-раздела, например:

set root=(hd0,5)

Также с ее помощью можно, например, «на лету» изменить цвет текста в меню и консоли, что позволяет опробовать цветовую схему перед установкой ее в качестве основной. Для этого изменяем переменные «color_normal» — для обычного пункта (и текста в консоли) и «color_highlight» для выделенного пункта соответственно. Например, попробуем такой вариант:

set color_normal=magenta/green
set color_highlight=light-blue/black

search

Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:

  • -u (или –fs-uuid) — поиск раздела по UUID
  • -l (или –label) — поиск по метке раздела
  • -f (или –file) — поиск по указанному файлу
  • -n (или –no-floppy) — не проверять флоппи-дисковод (чтоб не трещал)
  • -s (или –set) — установить найденный раздел в качестве значения заданной переменной.

help

При использовании в чистом виде выведет список доступных команд. В формате:

help r

Выведет справку по всем командам, начинающимся на «r».

help search

Отобразит справку по команде «search»

background_image

Позволяет «на лету» изменить фоновое изображение. Используется в формате:

background_image /путь/имя_файла

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

Данная команда не заменит ваши настройки оформления, фон будет изменен лишь на текущий сеанс.

При использовании без параметров сбросит текущее фоновое изображение. Однако, заданные цвета останутся, так что если у вас черный цвет текста — на черном фоне вы его не увидите.

terminal_output.console

Позволяет переключиться на обычную черно-белую цветовую гамму. Весьма полезно при работе с консолью в том случае, если у вас установлено фоновое изображение. Картинка на фоне — это, конечно, красиво, но на некоторых участках фона может быть не виден текст.

Изображения

Изображения растягиваются до указанных размеров, если указанные размеры больше реального размера изображения. Минимальные значения — реальные размеры изображение.

При выборе фона необходимо учесть эту особенность. Есть различные типы матриц мониторов. На матрице с соотношением сторон 4:3 и на матрице с соотношением сторон 16:9 одно и то же изображение может выглядеть по-разному.

При отображении логотипа рекомендуется использовать абсолютные величины для параметров width и height, чтобы избежать разного рода искажений.

За счёт растяжения удобно делать градиентную заливку — можно сделать полоску с градиентом шириной в 1 пиксель.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: