为什么执行grub2-mkconfig命令后,没有使用/etc/default/grub文件中的GRUB_CMDLINE_LINUX参数值覆盖所有BLS代码片段中的内核命令行参数

axin 2025-04-19 5人围观 ,发现0个评论 火山引擎云服务器云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>

问题原因

可能是由于CentOS操作系统中/etc/default/grub文件内的GRUB_ENABLE_BLSCFG参数默认值被修改为了true,导致grub2-mkconfig默认行为变更。
注意
该变更是由于kexec-tools对crashkernel参数的配置方法做了更新,覆盖BLS(Boot Loader Specification)代码片段中的内核命令行的行为会导致crashkernel参数丢失、kdump服务启动失败问题。了解更多。

解决方案

  • 您可以在执行grub2-mkconfig命令时添加--update-bls-cmdline选项,系统会根据GRUB_CMDLINE_LINUX更新BLS代码片段中的内核命令行。

grub2-mkconfig -o </path/to/grub.cfg> --update-bls-cmdline
说明
请将</path/to/grub.cfg>替换为实际grub.cfg路径。
  • 您也可以使用grubby命令,对指定内核的BLS代码片段进行更改。

grubby --update-kernel </path/to/kernel> --args "<new args>"
说明
  • 请将</path/to/kernel>替换为实际Kernel路径;将<new args>替换为实际内核参数。

  • 如需在CentOS Stream 9操作系统中修改内核参数,推荐您使用本方法。


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯