我有一个装有 Ubuntu 16.10 的外部硬盘,最近我将其插入然后拔出,发现下次启动笔记本电脑时,外部硬盘上 Ubuntu 安装的内核出现在 GRUB 菜单中。因此,GRUB 看起来非常混乱,我希望能够将它们从菜单中删除。我该如何做,是通过命令行还是其他方式?
答案1
Grub 不会在每次启动时检测它引用的所有内核;它们存储在启动时读取的列表中。只要列表未更新,Grub 就会显示相同的内核选项。您可以sudo update-grub
在拔下外部驱动器的情况下运行,它将删除不再有效的条目。
答案2
Grub 仅在收到指令时才会更新其可启动文件系统列表,指令可以是您使用 手动更新,也可以是当您使用或更新程序sudo update-grub
升级内核时更新。apt-get update && apt-get upgrade
如果您更喜欢图形化方式,另一个选择是安装 Grub Customizer。它在官方存储库中不可用,但它允许您从 GUI 设置 Grub,例如,如果您想更改启动 PC 时加载的默认操作系统。这将在您打开时更新操作系统列表,但不会将更改写入磁盘,直到您要求它这样做。如果您对此感兴趣,我可以发布 ppa 的链接,但请注意,这不是来自官方 Ubuntu 源。
不过,使用 Grub 做任何事情时都要小心谨慎。它很小,但负责确保你能够启动系统。我建议不要手动尝试删除条目,始终接受sudo update
grub` 或 Grub Customizer 提供的列表。我唯一会更改的是菜单超时和默认条目。如果你的列表太长,并且你想删除条目,你应该发布一个不同的问题,询问如何安全地删除旧内核,但这通常不是一个问题,因为旧内核都包含在加载屏幕上的自己的子菜单中,因此你只会看到一个 Linux 条目和一个高级选项条目,以及内存测试条目和你安装的其他操作系统