Grub 配置不会更新 GRUB_CMDLINE_LINUX_DEFAULT

Grub 配置不会更新 GRUB_CMDLINE_LINUX_DEFAULT

我正在尝试在 Debian Buster 系统上设置 kdump,如下所示本文

我已经安装了kdump-tools创建的包/etc/default/grub.d/kdump-tools.cfg,它执行以下操作:

GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT crashkernel=384M-:128M"

我的理解是,这会将crashkernel参数附加到内核命令行参数中。

我运行sudo update-grub,这似乎成功了,但这个词crashkernel没有出现在/boot/grub/grub.cfg(或下面的任何地方/boot)。

生成的内容grub.cfg是这样的:

menuentry "Linux" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b05e794c-10ea-4c8b-8ee4-2d51c8875d85' {
    ...
    echo    'Loading Linux 5.9.0-0.bpo.5-amd64 ...'
    linux   /boot/vmlinuz-5.9.0-0.bpo.5-amd64 root=UUID=b05e794c-10ea-4c8b-8ee4-2d51c8875d85 ro  quiet processor.max_cstate=1 intel_idle.max_cstate=1
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-5.9.0-0.bpo.5-amd64
}

我已经确认 中的其他文件/etc/defaults/grub.d没有修改GRUB_CMDLINE_LINUX_DEFAULT。我尝试过crashkernel直接添加到/etc/default/grub.我还用 strace 确认了/etc/default/grub.d/kdump-tools.cfg正在读取的内容。

答案1

不太确定,但我注意到/etc/grub.d/proxifiedScripts/linux创建这样的条目,哪里${args}${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}.

linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}

但是,我发现其中/etc/grub.d/proxifiedScripts/custom包含linux以 my 结尾的行grub.cfg,它确实不是包括GRUB_CMDLINE_LINUX_DEFAULT

linux   /boot/vmlinuz-5.9.0-0.bpo.5-amd64 root=UUID=b05e794c-10ea-4c8b-8ee4-2d51c8875d85 ro  quiet processor.max_cstate=1 intel_idle.max_cstate=1

我手动添加了crashkernel它,这似乎有效。

可能有人运行 GRUB 定制器使这变得过于复杂。

相关内容