如何使用 GRUB2 更改内核参数?

如何使用 GRUB2 更改内核参数?

这不是重复的。我想更改在 Ubuntu 16.04LTS/32 4.4.0-59-generic 的默认 Linux 内核中找到的以下内核参数:

CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_ALL=y
CONFIG_MODULE_SIG_UEFI=y
CONFIG_MODULES_USE_ELF_REL=y

当然我可以重新编译内核,但出于几个原因,我想避免这样做。我可以改变暂时或永久地 grub像这样:

GRUB_CMDLINE_LINUX=" … CONFIG_MODULE_SIG=n CONFIG_MODULE_SIG_ALL=n CONFIG_MODULE_SIG_UEFI=n CONFIG_MODULES_USE_ELF_REL=n"

这是正确的方法吗?或者这对内核参数没有影响吗?

答案1

你把“内核启动参数”和“内核配置参数”搞混了。要想做你想做的事,即使你不想做,你也需要修改内核配置文件并重新编译内核。

由于它们是编译时指令,因此无法通过 grub 命令行更改内核配置参数。但是,根据具体情况,有时用户仍可以通过 grub 中的内核命令行实现目标。例如,假设我的内核配置有CONFIG_X86_INTEL_PSTATE=y。我仍然可以通过以下方式告诉内核不要使用 Intel P-state CPU 频率缩放驱动程序:

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

在 grub 中。所以虽然它被编译进了内核,但是不会被使用。

相关内容