4.9. 引导加载程序
带有 BLS 的 grub2-mkconfig
的新默认行为
在 Boot Loader Specification (BLS)框架中,GRUB 在引导时从 BLS 片断动态生成引导菜单,且不会在 grub.cfg
文件中预定义。
在以前的版本中,grub2-mkconfig
命令生成一个新的 grub.cfg
文件,并总是使用/etc/default/grub
文件中发现的 GRUB_CMDLINE_LINUX
变量的值覆盖所有 BLS 代码片段中的命令行参数。
有了此版本,grub2-mkconfig
命令不再默认使用 GRUB_CMDLINE_LINUX
覆盖 BLS 片段中的内核命令行。引导装载程序菜单中的每个内核都从其 BLS 代码段获取其内核命令行。这个新的默认行为是由 GRUB_ENABLE_BLSCFG=true
选项造成的。
要重新生成 grub.cfg
,以便内核忽略 BLS 片断,并从 GRUB_CMDLINE_LINUX
中获取命令行,请设置 GRUB_ENABLE_BLSCFG=false
选项。
要根据 GRUB_CMDLINE_LINUX
更新 BLS 片断中的内核命令行,请添加 --update-bls-cmdline
选项:
# grub2-mkconfig -o /path/to/grub.cfg --update-bls-cmdline
另请注意,您可以使用 grubby
为各个内核更改 BLS 段:
# grubby --update-kernel /path/to/kernel --args "new args"
Jira:RHELDOCS-16752[1]