Темы
Подготовка шрифта
Подготовка фоновой картинки
Добавление опции discard на коревой раздел (XFS)
DSDT
Параметры ядра
Сочетания клавиш GRUB
Добавляем пункты перезапуска и выключения питания
Структура каталогов загрузочного раздела для UEFI
Структура каталогов загрузочного раздела для BIOS
Восстановление GRUB с LiveCD для UEFI
Запуск системы при поломке GRUB
Генерируем шрифт для grub2
Код: Выделить всё
grub2-mkfont -s 14 -o /boot/grub2/fonts/DejaVu.pf2 /usr/share/fonts/dejavu/DejaVuSansMono.ttf-o - получаемый файл при конвертировании
Подключаем полученный шрифт. Добавляем в файл /etc/sysconfig/grub строку:
Код: Выделить всё
GRUB_FONT=/boot/grub2/fonts/DejaVu.pf2Код: Выделить всё
GRUB_GFXMODE="1920x1080"
GRUB_GFXPAYLOAD_LINUX=1920x1080Код: Выделить всё
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_TIMEOUT=15
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU="true"
# Запретить искать системы на других дисках
GRUB_DISABLE_OS_PROBER="false"
#GRUB_DEVICE_UUID="74ad28af-6a81-49ce-bdf6-e3a34cb18a94"
#Включить создание образа восстановления
GRUB_DISABLE_RECOVERY="false"
# Основной набор опций ядра
GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet rd.driver.blacklist=nouveau nvidia-drm.modeset=1 video=vesafb:off,efifb:on rootflags=discard vga=845 vconsole.font=ter-u30b vconsole.keymap=ru selinux=0"
# GRUB_VIDEO_BACKEND="efi_gop"
#GRUB_TERMINAL_OUTPUT="gfxterm"
# Список разрешений для графического режима GRUB
GRUB_GFXMODE="1920x1080x32,1280x800x32,1024x768x32,800x600x32,auto"
GRUB_GFXPAYLOAD_LINUX="keep"
# Подключение темы, шрифта, и выбор языка
GRUB_THEME="/boot/grub2/themes/system/theme.txt"
GRUB_FONT="/boot/grub2/fonts/DejaVu.pf2"
GRUB_LANG="ru_RU.UTF-8"
GRUB_ENABLE_BLSCFG="true"- rhgb - отображает графическую заставку при загрузке системы (Red Hat Graphical Boot)
- quiet - Подавляет вывод процесса init при загрузке системы
Код: Выделить всё
GRUB_BACKGROUND=/boot/grub2/holiday1.jpegКод: Выделить всё
convert -resize x1080 -interlace none background.jpg background1.jpgЕсли изображений, которые нужно преобразовать, много, то можно воспользоваться скриптом:
Код: Выделить всё
cd "каталог с картинками"
mkdir conv
for file in *.jpg; do convert $file -resize x1080 -interlace none conv/$file; doneстатус данного флага можно посмотреть утилитой file:
Код: Выделить всё
{ 22:20 MSK, 17 июня, Ср } { root@sergey.free-adm.ru } { /boot/grub2/themes/system } ✓
# > file fireworks1.png
fireworks1.png: PNG image data, 1600 x 900, 8-bit/color RGB, interlaced
{ 22:24 MSK, 17 июня, Ср } { root@sergey.free-adm.ru } { /boot/grub2/themes/system } ✓
# > file fireworks.png
fireworks.png: PNG image data, 2048 x 1536, 8-bit/color RGB, non-interlacedОбновляем конфигурацию загрузчика
Код: Выделить всё
grub2-mkconfig -o /boot/grub2/grub.cfgВключить TRIM для файловой системы можно, если добавить discard в опции монтирования. Однако для корневой файловой системы опции нужно передавать, из загрузчика GRUB, параметрами ядра. Редактируем /etc/sysconfig/grub добавляя в строку rootflags=discard ro
Код: Выделить всё
GRUB_CMDLINE_LINUX="... rootflags=discard ro ..."Код: Выделить всё
grub2-mkconfig -o /boot/grub2/grub.cfgdnf install iasl
Получаем текущее состояние таблицы ACPI
Код: Выделить всё
cat /sys/firmware/acpi/tables/DSDT > dsdt.amle /etc/grub.d/01_acpi
Код: Выделить всё
#! /bin/sh -e
# Uncomment to load custom ACPI table
GRUB_CUSTOM_ACPI="/boot/dsdt.aml"
# DON'T MODIFY ANYTHING BELOW THIS LINE!
libdir=/usr/share
. ${libdir}/grub/grub-mkconfig_lib
# Load custom ACPI table
if [ x${GRUB_CUSTOM_ACPI} != x ] && [ -f ${GRUB_CUSTOM_ACPI} ] && is_path_readable_by_grub ${GRUB_CUSTOM_ACPI}; then
echo "Found custom ACPI table: ${GRUB_CUSTOM_ACPI}" >&2
prepare_grub_to_access_device `${grub_probe} --target=device ${GRUB_CUSTOM_ACPI}` | sed -e "s/^/ /"
cat << EOF
acpi (\$root)`make_system_path_relative_to_its_root ${GRUB_CUSTOM_ACPI}`
EOF
fiКод: Выделить всё
chmod a+x /etc/grub.d/01_acpiПосле этого запускаем обновление конфигурации grub
Код: Выделить всё
grub-mkconfig -o /boot/grub/grub.cfgКод: Выделить всё
...
Found custom ACPI table: /boot/dsdt.aml
...Код: Выделить всё
dracut -fКод: Выделить всё
rebootКод: Выделить всё
cat /sys/firmware/acpi/tables/DSDT > dsdt.amlКод: Выделить всё
iasl -d dsdt.amldmesg | grep ACPI
Код: Выделить всё
Look for clues that suggest an override, for example:
[ 0.000000] ACPI: Override [DSDT- A M I], this is unsafe: tainting kernel
[ 0.000000] ACPI: DSDT 00000000be9b1190 Logical table override, new table: ffffffff81865af0
[ 0.000000] ACPI: DSDT ffffffff81865af0 0BBA3 (v02 ALASKA A M I 000000F3 INTL 20130517)Для изменения параметров ядра нужно отредактировать соответствующий пункт меню в GRUB. Для редактирование меню выберите его (стрелками) и нажмите клавишу "e". Находим строку linuxefi - для загрузки в EFI режиме или linux16 - для загрузки в режиме BIOS.
- Загрузка в текстовый режим добавьте параметр 3 (просто цифру 3).
- Запуск в однопользовательском режиме (single mode) добавьте параметр single или просто цифру 1
- Удалив параметры rhgb и quiet вы отключаете показ красивого, но бесполезного, экрана загрузки и вместо него увидите все логи и все ошибки, если они будут.
- Иногда вы, возможно, не сможете использовать single метод. В этих случаях вы можете указать ядру Linux использовать другой init так:
Код: Выделить всё
init=/bin/bash
- CTRL+x или F10 - Для завершения редактирования параметров и загрузки системы
- ESC - выход из режима редактирования или режима командной строки
- Ctrl+с - из режима редактирования запускает командную строку GRUB
- c - запускает командную строку GRUB из меню выбора вариантов запуска
Добавить в файл /etc/grub.d/40_custom следующие строки
Код: Выделить всё
menuentry "Reboot the PC" { reboot }
menuentry "Power Off" { halt }Чтобы узнать, какая прошивка используется на вашем компьютере, выполните следующую команду:
Код: Выделить всё
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOSВ системах с прошивкой UEFI обновлены пакеты shim и GRUB RPM, которые, в свою очередь, обновляют файлы загрузчика, находящиеся на системном томе EFI. Причины переустановки включают устранение неполадок при ранней загрузке и после непреднамеренного использования команды grub2-install, что приводит к неподдерживаемой конфигурации в системах UEFI.
Удалите следующие файлы:
Код: Выделить всё
rm /boot/efi/EFI/fedora/grub.cfg
rm /boot/grub2/grub.cfgПереустановите следующие пакеты:
Код: Выделить всё
dnf reinstall shim-* grub2-efi-* grub2-commonИз-за отсутствия установленного пакета grub2-efi-x64-modules в составе LiveCD восстановление загрузчика оканчивается неудачей. Доустанавливаем необходимый пакет и устанавливаем GRUB.
Код: Выделить всё
dnf install grub2-efi-x64-modules