Подробный гайд по параметрам загрузки ядра и настройке GRUB2 в ALT Linux 11 - Часть 2

Практический гайд по параметрам загрузки ядра в ALT Linux 11 через GRUB2. Правка /etc/default/grub, временные изменения, решение проблем с видео и старт ОС.

2026.09.09                  


Подробный гайд по параметрам загрузки ядра и настройке GRUB2 в ALT Linux 11 - Часть 2Подробный гайд по параметрам загрузки ядра и настройке GRUB2 в ALT Linux 11 - Часть 2 Вторая часть гайда (разделы с 10 по 18 включительно):


10. Как правильно узнать текущий root=UUID

Выполните:

findmnt -no UUID /

Если вывод пустой или вместо UUID устройство, можно так:

ROOT_DEV=$(findmnt -no SOURCE /)
echo "$ROOT_DEV"
blkid "$ROOT_DEV"

Для LVM источник может быть вида:

/dev/mapper/vg-root

Тогда можно посмотреть файловую систему:

blkid /dev/mapper/vg-root

или:

lsblk -f

11. Добавление собственного пункта загрузки



Иногда нужно не менять стандартные пункты, а добавить отдельный пункт с конкретными параметрами.

Для этого используется файл:

/etc/grub.d/40_custom

Пример добавления собственного пункта.

Сначала посмотрите текущие параметры:

cat /proc/cmdline

Посмотрите файлы ядра и initrd:

ls /boot | grep -E 'vmlinuz|initrd'

Добавьте блок в конец файла /etc/grub.d/40_custom.

Пример, если /boot находится на том же разделе, что и система:

menuentry 'ALT Linux custom' {
    search --fs-uuid UUID_РАЗДЕЛА_ГДЕ_ЛЕЖИТ_BOOT --set=root
    linux /boot/vmlinuz-VERSION root=UUID=UUID_КОРНЕВОГО_РАЗДЕЛА ro quiet nomodeset
    initrd /boot/initrd-VERSION.img
}

Если /boot отдельный раздел, пути обычно будут без /boot:

menuentry 'ALT Linux custom' {
    search --fs-uuid UUID_РАЗДЕЛА_BOOT --set=root
    linux /vmlinuz-VERSION root=UUID=UUID_КОРНЕВОГО_РАЗДЕЛА ro quiet nomodeset
    initrd /initrd-VERSION.img
}

После редактирования:

chmod +x /etc/grub.d/40_custom
update-grub

Важно:

Не меняйте автоматически сгенерированные пункты в /boot/grub/grub.cfg. Лучше создайте свой пункт в 40_custom.


12. UEFI и BIOS: что важно знать

Проверить, какой режим используется:

ls /sys/firmware/efi

Если каталог существует:

ls /sys/firmware/efi

вы видите содержимое — значит система загружена в режиме UEFI.

Если каталога нет:

ls /sys/firmware/efi

сообщает об ошибке — скорее всего, используется BIOS/Legacy.


12.1. Где лежит конфигурация при UEFI

В ALT основные настройки и сгенерированный grub.cfg обычно находятся в /boot/grub/, даже при UEFI.

На EFI-разделе может быть небольшой файл вроде:

/boot/efi/EFI/alt/grub.cfg

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


12.2. Если GRUB не появляется

Не спешите переустанавливать GRUB, если проблема только в параметрах ядра.

Сначала попробуйте:

  1. Включить меню GRUB через Esc или Shift.
  2. Выбрать старое ядро.
  3. Отредактировать пункт клавишей e.
  4. Удалить проблемный параметр.
  5. Загрузиться.
  6. Исправить /etc/default/grub.
  7. Выполнить update-grub.

Если же сам загрузчик повреждён, может понадобиться переустановка GRUB, но это уже отдельная операция.


13. Что делать, если после изменения параметров система не грузится

13.1. Если видно меню GRUB

  1. Выберите старый рабочий пункт ядра.
  2. Нажмите e.
  3. Уберите или замените подозрительный параметр.
  4. Загрузитесь.
  5. Отредактируйте /etc/default/grub. 6. Выполните:
update-grub

13.2. Если меню GRUB не видно

Попробуйте:

  • удерживать Shift сразу после BIOS;
  • часто нажимать Esc;
  • нажать Esc при появлении логотипа.

Если меню всё равно не появляется, может потребоваться загрузка с установочного или спасательного носителя.


13.3. Восстановление через LiveCD/установочный носитель

Общий смысл:

  1. Загрузиться с внешнего носителя.
  2. Смонтировать корневой раздел установленного ALT.
  3. При необходимости смонтировать /boot и /boot/efi.
  4. Войти в окружение установленной системы через chroot.
  5. Исправить /etc/default/grub.
  6. Выполнить update-grub.

Упрощённая схема для обычного раздела:

mount /dev/sdXn /mnt

Если /boot отдельный:

mount /dev/sdYn /mnt/boot

Если UEFI:

mount /dev/sdZn /mnt/boot/efi

Затем:

for d in /dev /dev/pts /proc /sys /run; do
    mount --bind "$d" "/mnt$d"
done

chroot /mnt

update-grub

exit

Если используется LUKS:

cryptsetup open /dev/sdXn cryptroot

Если используется LVM:

vgchange -ay

И монтировать уже /dev/mapper/....


14. Типичные ошибки

14.1. Редактирование /boot/grub/grub.cfg вручную



Этот файл будет перезаписан.

Правильно:

/etc/default/grub

затем:

update-grub

14.2. Дублирование root=

Если вы добавите второй root=, может возникнуть путаница.

Проверьте:

grep 'linux' /boot/grub/grub.cfg

В строке ядра обычно должен быть один основной root=....


14.3. Удаление параметров шифрования или LVM

Если у вас шифрованный раздел или LVM, не удаляйте параметры вида:

rd.luks.*
rd.lvm.*
cryptdevice=...

пока не понимаете, как они работают в вашей конфигурации.


14.4. Постоянное использование init=/bin/sh

Это аварийный параметр. Не делайте его постоянным.


14.5. Использование acpi=off как постоянного решения

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


15. Полезные команды диагностики

Текущие параметры загрузки:

cat /proc/cmdline

Файл настроек:

cat /etc/default/grub

Сгенерированный конфиг:

cat /boot/grub/grub.cfg

Строки ядра в конфиге:

grep 'linux' /boot/grub/grub.cfg

Пункты меню:

grep 'menuentry' /boot/grub/grub.cfg

Список ядер:

ls /boot | grep vmlinuz

Список initrd:

ls /boot | grep initrd

Корневая файловая система:

findmnt /

UUID разделов:

blkid

Структура дисков:

lsblk -f

Режим загрузки:

ls /sys/firmware/efi

Ошибки текущей загрузки:

journalctl -b -p err

Сообщения ядра:

dmesg | less

16. Рекомендуемый безопасный порядок действий

Если вы меняете параметры загрузки:

1. Сделайте резервную копию:

cp -a /etc/default/grub /etc/default/grub.bak

2. Посмотрите текущие параметры:

cat /proc/cmdline
  1. Сначала проверьте параметр временно через e в GRUB.
  2. Если всё работает, добавьте параметр в /etc/default/grub.

5. Обновите конфигурацию:

update-grub

6. Проверьте результат:

grep 'linux' /boot/grub/grub.cfg
  1. Перезагрузитесь.

8. После загрузки проверьте:

cat /proc/cmdline

17. Минимальная шпаргалка

Временно проверить параметр:

GRUB -> e -> отредактировать строку linux -> Ctrl+X

Постоянно добавить параметр:

mcedit /etc/default/grub

Изменить, например:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Сохранить и выполнить:

update-grub

Проверить:

cat /proc/cmdline

Вернуть старое:

cp -a /etc/default/grub.bak /etc/default/grub
update-grub

18. Практический пример полного изменения

Допустим, у вас было:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Вы хотите:

  • убрать тихую загрузку;
  • видеть сообщения;
  • временно отключить KMS из-за чёрного экрана;
  • добавить ожидание корневого диска.

Можно сделать так:

GRUB_CMDLINE_LINUX="rootdelay=5"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=7 nomodeset"

После этого:

update-grub

Проверка:

grep 'linux' /boot/grub/grub.cfg

После перезагрузки:

cat /proc/cmdline

Вы должны увидеть примерно:

... root=UUID=... ro rootdelay=5 loglevel=7 nomodeset

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


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

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