从 GRUB 中删除 upstart 选项

从 GRUB 中删除 upstart 选项

对于我在 15.04 安装中使用的每个内核,在 GRUB 中我都有三个选项:

  • 正常(systemd)
  • 暴发户
  • 恢复

我怎样才能删除upstart所有内核的选项?

答案1

您可能希望通过多种方式来解决这个问题,我已尽力做到尽可能完整,并希望这些解决了你的问题。

有必要吗?

在至少 16.04 的系统上,是的如果你想登录,你需要 Upstart

但是如果你完全确定你根本不需要 upstart,只需将其卸载:

sudo apt-get purge upstart

这会导致它也自动从菜单中删除

如果您需要 upstart(可能依赖它)并且希望它仍然存在但不启动您的系统,您可以通过编辑 grub 配置文件来摆脱手动输入。有两种方法可以解决此问题(第一种方法是两者中更危险的一种)。

暂时移除

您可以编辑/boot/grub/grub.cfg以临时删除(使用 grub-mkconfig 重新生成将撤消此更改)。删除带有名称的 menu_entry 块Ubuntu ....... (upstart) { .. many lines .. }1

首选移除

令人讨厌的 upstart 条目是由于/etc/grub.d/10_linux模板文件中的一个变量而生成的,您应该编辑这个变量。该变量被调用SUPPORTED_INITS,并且设置在文件开头附近。如果您想摆脱对启动 upstart 的支持,您必须从这里将其删除。

改变这个:

SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd upstart:/sbin/upstart"

对此:

SUPPORTED_INITS="sysvinit:/lib/sysvinit/init systemd:/lib/systemd/systemd"

然后你需要从刚刚编辑的模板重建启动配置文件1

sudo grub-mkconfig -o /boot/grub/grub.cfg

备份您的更改

进行这些更改时,请备份要更改的文件,并将其放在安全的地方(如~/Documents目录或其他位置),以确保包管理器操作不会意外删除它。如果工作量太大,只需复制要更改的行,然后将其注释掉(当然,在 的情况下grub.cfggrub-mkconfig下次运行时会覆盖这些更改)。


1更改脚本后,应始终检查脚本,以确保其能够运行。grub-script-check /boot/grub/grub.cfg编辑或生成新脚本后,可以使用以下命令确保脚本中没有语法错误,并且确实重新启动之前。

答案2

关于什么Grub 定制器?我用它来定制 Grub,从来没有遇到过任何问题。实际上,我曾经遇到过一次,并向作者询问过,很快就得到了修复答案。

相关内容