如何添加内核引导参数?

我需要向我的内核添加引导参数foo=bar。如果测试成功,我该如何进行一次性的添加,并永久地保留这个参数?

3个回答

临时向内核添加引导参数

  1. 启动系统并等待GRUB菜单显示(如果您看不到GRUB菜单,请在启动系统后按住左侧的Shift键)。
  2. 现在突出显示您想要使用的内核,然后按下e键。您应该能够看到并编辑与突出显示的内核相关联的命令。
  3. 转到以linux开头的行,并将参数foo=bar添加到其末尾。
  4. 现在按下Ctrl + x进行启动。

使此更改永久生效

  1. 从终端(或按下 Alt + F2)运行:

     gksudo gedit /etc/default/grub
    

    (如果不可用,可以使用 sudo nano 替代 gksudogedit)然后输入密码。

  2. 找到以 GRUB_CMDLINE_LINUX_DEFAULT 开头的行,并在末尾添加 foo=bar。例如:

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash foo=bar"
    

    保存文件并关闭编辑器。

  3. 最后,打开一个终端并运行:

     sudo update-grub
    

    来更新 GRUB 的配置文件(可能需要输入密码)。

在下一次重新启动时,内核应该使用引导参数启动。要永久删除它,只需从GRUB_CMDLINE_LINUX_DEFAULT中删除该参数,并再次运行sudo update-grub
要验证您的更改,可以通过执行cat /proc/cmdline来查看内核启动时使用的确切参数。 维基页面

2Shift对我不起作用。我使用了Esc键。必须小心,不要按得太久,否则它会直接穿过GRUB。 - eqzx
3在Ubuntu中,gksudo已经不再使用了。请改用pkexec - Terrance
2在UEFI模式下启动时Shift键似乎无效。在那里,您必须反复按Esc键,但一旦进入GRUB菜单,就要停下来,否则它将进入GRUB shell。 - Brian Silverman
点击此处也可以找到一个使用sed命令来获取变量的方法。 - ukos

添加任何内核选项:

  • 对于LiveCD会话:请按照这些步骤进行操作

  • 对于已有的安装:请使用Boot-Repair添加内核选项编辑GRUB配置文件选项。

enter image description here

参见此文档

或者,您也可以使用方便的grub-customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
gksu grub-customizer &

只需打开引导项,并按照下方截图中突出显示的方式编辑其内核参数。

screenshot