为什么执行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操作系统中修改内核参数,推荐您使用本方法。