对于我在 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.cfg
,grub-mkconfig
下次运行时会覆盖这些更改)。
1更改脚本后,应始终检查脚本,以确保其能够运行。grub-script-check /boot/grub/grub.cfg
编辑或生成新脚本后,可以使用以下命令确保脚本中没有语法错误,并且确实重新启动之前。
答案2
关于什么Grub 定制器?我用它来定制 Grub,从来没有遇到过任何问题。实际上,我曾经遇到过一次,并向作者询问过,很快就得到了修复答案。