如何在升级后清理 Ubuntu Grub 启动菜单

如何在升级后清理 Ubuntu Grub 启动菜单

最近我安装了 Ubuntu 9.10 - Karmic Koala - 2009 年 10 月发布。我使用更新管理器升级了很多次。所以每次更新时,它都会在启动屏幕中添加一个菜单,如恢复模式。我也有 Windows 操作系统。现在在启动时,它列出了大约 10 个启动菜单。Windows 操作系统转到菜单的最后一行。我如何清除除 Windows 和 Ubuntu 最新版本之外的所有启动菜单?

答案1

进入 synaptic 包管理器,向下滚动直到找到 linux-image-*

您可以安全地删除所有这些,除了您启动的那个。(您可以通过从命令行运行“uname -r”来找到它。)

另外,从命令行运行“sudo apt-get autoremove --purge”可能会检测到“旧的”并自动删除它们。

答案2

如果你特别喜欢冒险,你可以编辑 Grub 启动菜单的源代码

/boot/grub/grub.cfg

并删除不需要的菜单条目。

你必须故意忽略文件顶部的消息,该消息显示

# DO NOT EDIT THIS FILE

您需要以 root 身份运行,并且系统无法启动的危险性很高。

复制该文件,例如 grub.cfg0,

仔细研究 grub.cfg,确保在删除之前了解要删除的内容。如果你没有信心,就不要删除。

在我的 Ubuntu 9.10 中,与内存测试相关的部分如下

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
        linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
        linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

答案3

什么时候更新 grub运行时,无论是由您运行还是由内核包安装运行,它都会生成/boot/grub/grub.cfg按顺序运行可执行脚本/etc/grub.d。如果你想改变你的启动菜单顺序,只需改变脚本的顺序/etc/grub.d


如果您希望首先获得 Windows 启动项,请运行此命令以在生成 Linux 内核项之前生成该启动项(在脚本中10_linux):

sudo mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober

完成后,运行sudo update-grub以生成新的/boot/grub/grub.cfg


Memtest86 启动项由/etc/grub.d脚本20_memtest8621_memtest86+。如果你不想要 Memtest86 启动菜单项,最简单、最永久的方法是删除它们(无需卸载memtest86memtest86+要执行此操作,您需要运行以下命令:

# 取消设置 grub 菜单配置脚本的可执行位
sudo chmod -x /etc/grub.d/*memtest86*

修改模式禁用 Memtest86 启动项,运行sudo update-grub将创建一个/boot/grub/grub.cfg不包括 Memtest86/+ 条目。

要撤消该更改,只需将可执行位添加回脚本,然后重新运行更新 grub

# 重置
sudo chmod +x /etc/grub.d/*memtest86*

答案4

  1. 删除旧内核条目:只需打开 Synaptic 包管理并将其删除。
  2. 删除内存测试(串行控制台):如果要删除此条目,则必须将其删除。注释不会改变任何内容。在更改“/etc/grub.d/”目录中的任何内容之前,您必须更改权限。
  3. 到目前为止一切都很好。让我们更新 Grub 并观察结果。

查看我的博客条目如何在 Ubuntu Grub2 上编辑启动菜单如何更改 Ubuntu 上的启动顺序了解更多详细信息和图片

相关内容