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

最近我安装了Ubuntu 9.10 – Karmic Koala – 2009年10月发布。我使用更新pipe理器多次升级。 所以每次我更新时,都是在启动屏幕上添加一个菜单,如恢复模式。 我也有Windows操作系统。 现在在启动的时候,它列出了10个bootmenu的。 Windows操作系统转到菜单的最后一行。 我怎样才能清除所有的启动菜单,除了Windows和Ubuntu的最新vesion?

进入突触包pipe理器,向下滚动,直到findlinux-image- *

您可以安全地将其全部移除,除了您从中引导的那个。 (你可以通过从命令行运行'uname -r'来find。

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

如果你感觉特别冒险,你可以编辑Grub bootmenu的来源

/boot/grub/grub.cfg 

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

你将不得不故意忽略文件顶部的消息

 # DO NOT EDIT THIS FILE 

你需要成为root用户,而使系统无法启动的危险性很高。

复制一份文件,比如grub.cfg0,

仔细研究grub.cfg,并确保你明白你在删除之前。 如果你没有信心,不要这样做。

有关内存testing的部分如下,在我的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+ ### 

当运行update-grub时 ,无论是由您还是由内核软件包安装,它都会通过依次运行/etc/grub.d中的可执行脚本来生成/boot/grub/grub.cfg 。 如果您想更改启动菜单顺序,只需更改/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菜单configuration脚本设置可执行位
 sudo chmod -x /etc/grub.d/*memtest86*

chmod禁用Memtest86启动项,运行sudo update-grub现在将创build一个不包含Memtest86 / +项的/boot/grub/grub.cfg

要撤销这一更改,只需将可执行位添加回脚本,然后重新运行update-grub

 # 重启 
 sudo chmod + x /etc/grub.d/*memtest86*
  1. 删除旧内核条目:只需打开您的新立得包pipe理并删除它。
  2. 删除内存testing(串行控制台):如果你想删除这个条目,你必须删除它。 评论不会改变任何东西。 在更改“/etc/grub.d/”目录中的任何内容之前,您必须更改权限。
  3. 一切都很好,直到现在。 让我们更新Grub并观察结果。

请参阅我的博客文章如何在Ubuntu Grub2上编辑启动菜单以及如何 在Ubuntu 上更改启动顺序以获取更多详细信息和图片