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
# grub2-mkconfig -o /path/to/grub.cfg --update-bls-cmdline
另请注意,您可以使用 grubby 为各个内核更改 BLS 段:
grubby --update-kernel /path/to/kernel --args "new args"
# grubby --update-kernel /path/to/kernel --args "new args"
Jira:RHELDOCS-16752[1]