2.9.4.1 grubby - утилита настройки загрузчика ОС
Скачать документ Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
- Версия ПО: grubby-8.40-40
GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot, и может загрузить любую совместимую с ней операционную систему. Кроме того GRUB может по цепочке передавать управление другому загрузчику, что позволяет ему загружать, например, ОС Windows, установленную рядом с РЕД ОС.
После настройки GRUB при включении компьютера пользователь видит список операционных систем, которые установлены на его компьютер и которые можно загрузить, выбрав подходящую и нажав «Enter».
GRUB позволяет при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки. GRUB — самый популярный загрузчик для Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.
Здесь и далее под названием загрузчика GRUB подразумевается GRUB 2, который используется в Linux-системах, до него использовался GRUB первой версии, в настоящее время известный как GRUB Legacy. GRUB 2 полностью переписан с нуля и не имеет ничего общего с GRUB Legacy, разработка которого была остановлена в пользу более совершенного и мощного GRUB 2.
grubby является утилитой командной строки для настройки, отображения и обновления конфигураций загрузчика GRUB. По умолчанию grubby предустановлен в РЕД ОС.
Если в вашей системе утилита не установлена, перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install grubby
Работа с утилитой grubby предоставляет множество преимуществ, включая простоту и согласованность во многих дистрибутивах. Для использования grubby не требуется обладать глубокими знаниями о файлах конфигурации утилиты.
Для генерации файла конфигурации GRUB 2 используется команда:
grub2-mkconfig -o /boot/grub2/grub.cfg
После внесения изменений в файл конфигурации необходимо перезагрузить систему, чтобы изменения вступили в силу.
Для получения информации о работающем ядре системы выполните команду:
grubby --default-kernel /boot/vmlinuz-5.15.35-5.el7.3.x86_64
Более подробную информацию о текущем ядре можно получить, выполнив команду:
grubby --info /boot/vmlinuz-$(uname -r) index=1 kernel=/boot/vmlinuz-5.15.10-1.el7.x86_64 args="ro resume=/dev/mapper/ro_redos-swap rd.lvm.lv=ro_redos/root rd.lvm.lv=ro_redos/swap rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1" root=/dev/mapper/ro_redos-root initrd=/boot/initramfs-5.15.10-1.el7.x86_64.img title=RED OS (5.15.10-1) MUROM (7.3.1)
Для просмотра информации обо всех имеющихся версиях ядра используйте команду:
grubby --info ALL
С другими доступными опциями можно ознакомиться, выполнив:
grubby --help
Также можно отфильтровать вывод всех имеющихся версий ядра командой:
grubby --info=ALL | grep ^kernel kernel=/boot/vmlinuz-5.15.35-5.el7.3.x86_64 kernel=/boot/vmlinuz-5.15.10-1.el7.x86_64 kernel=/boot/vmlinuz-0-rescue-5bcf621e66ba4fe4a75d2f4079182c86 kernel=/boot/vmlinuz-5.15.35-5.el7.3.x86_64 kernel=/boot/vmlinuz-5.15.10-1.el7.x86_64 kernel=/boot/vmlinuz-0-rescue-5bcf621e66ba4fe4a75d2f4079182c86
Для добавления новой записи в загрузчик выполните:
grubby --grub2 \ > --add-kernel=/boot/vmlinuz-4.18.0-348.2.1.el8_5.x86_64 \ > --title="Linux_TEST_Kernel" \ > --initrd=/boot/initramfs-4.18.0-348.2.1.el8_5.x86_64.img \ > --copy-default
Проверьте, добавлена ли новая запись:
grubby --info=ALL | grep -E "^kernel|^index" index=0 kernel=/boot/vmlinuz-4.18.0-348.2.1.el8_5.x86_64 index=1 kernel=/boot/vmlinuz-5.15.35-5.el7.3.x86_64 index=2 kernel=/boot/vmlinuz-5.15.10-1.el7.x86_64 index=3 kernel=/boot/vmlinuz-0-rescue-5bcf621e66ba4fe4a75d2f4079182c86 index=4 index=5 kernel=/boot/vmlinuz-5.15.35-5.el7.3.x86_64 index=6 index=7 index=8 index=9 kernel=/boot/vmlinuz-5.15.10-1.el7.x86_64 index=10 index=11 kernel=/boot/vmlinuz-0-rescue-5bcf621e66ba4fe4a75d2f4079182c86 index=12
После перезагрузки новая запись доступна для выбора в загрузчике.
Также можно добавить аргументы в ядро, чтобы загрузчик мог их обработать, командой:
grubby --update-kernel=current_kernel --args="kernel_args"
Например, для добавления новых записей и исключения IPv6:
grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="ipv6.disable=1" --args="console=ttys0"
Загрузчик во время загрузки передает параметры ядру в буфер памяти, файл /proc/cmdline в псевдо-файловой системе /proc также содержит копию данных параметров. Проверить это можно при помощи команды:
cat /proc/cmdline BOOT_IMAGE=/vmlinuz-5.15.35-5.el7.3.x86_64 root=/dev/mapper/ro_redos-root ro rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 resume=/dev/mapper/ro_redos-swap rd.lvm.lv=ro_redos/root rd.lvm.lv=ro_redos/swap rhgb quiet
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.