4.7. 使用 GRUB 配置文件更改引导条目
/etc/default/grub
GRUB 配置文件包含 GRUB_CMDLINE_LINUX
键,它列出了要添加到 Linux 内核的引导条目的内核命令行参数。例如:
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap"
要更改引导条目,请使用 GRUB_CMDLINE_LINUX
值的内容覆盖 Boot Loader 规范(BLS)片断。
先决条件
- 全新的 RHEL 9 安装。
流程
使用
grubby
在安装后脚本中为各个内核添加或删除内核参数:# grubby --update-kernel <PATH_TO_KERNEL> --args "<NEW_ARGUMENTS>"
例如,在所选内核中添加
noapic
参数:# grubby --update-kernel /boot/vmlinuz-5.14.0-362.8.1.el9_3.x86_64 --args "noapic"
参数传播到 BLS 代码片段,但不传播到
/etc/default/grub
文件中。使用
/etc/default/grub
文件中GRUB_CMDLINE_LINUX
值的内容覆盖 BLS 片断:# grub2-mkconfig -o /boot/grub2/grub.cfg --update-bls-cmdline Generating grub configuration file … Adding boot menu entry for UEFI Firmware Settings … done
注意其他更改,如对
GRUB_TIMEOUT
键所做的更改(也包含在/etc/default/grub
GRUB 配置文件中),默认情况下传播到新的grub.cfg
中。
验证
- 重启您的操作系统。
验证参数是否包含在
/proc/cmdline
文件中。例如,
/proc/cmdline
包含noapic
内核参数:BOOT_IMAGE=(hd0,gpt2)/vmlinuz-4.18.0-425.3.1.el8.x86_64 root=/dev/mapper/RHELCSB-Root ro vconsole.keymap=us crashkernel=auto rd.lvm.lv=RHELCSB/Root rd.luks.uuid=luks-d8a28c4c-96aa-4319-be26-96896272151d rhgb quiet noapic rd.luks.key=d8a28c4c-96aa-4319-be26-96896272151d=/keyfile:UUID=c47d962e-4be8-41d6-8216-8cf7a0d3b911 ipv6.disable=1