可能重复:
使 grub 在内核更新下保持其默认启动
我有双启动系统 - Ubuntu 9.10 和 Windows 7。
每当 GRUB 加载时,菜单都会显示许多选项,例如过去的内核、内存测试和 Windows 7。
我想把这个菜单缩小一点,因为我需要按向下箭头大约 6 次才能转到 Windows 7 选项。我知道 GRUB 是 1.97~beta4 版本,在 Ubuntu 官方网站上花了一些时间后,我仍然不知道如何更改它。
答案1
答案似乎是:
- 通过 Synaptic 删除旧内核,其启动项将自动删除
- 您可以通过使 /etc/grub.d/ 中的条目不可执行来删除其他无关条目
因此,要删除 memtest 条目,您可以运行:
sudo chmod -x /etc/grub.d/20_memtest86+
- 我对 /etc/grub.d/README 的理解是,Grub 根据其文件名的前导数字确定菜单项的顺序。我没有任何双启动系统可以验证这一点,但 Windows应该在此处有自己的条目文件。因此,如果您想保留 memtest 条目,但让 Windows 条目首先显示,则需要重命名文件,以便 Windows 条目在文件名上具有较低的数字标签
- 做出更改后,在 CLI 上运行 update-grub 来提交它们。
答案摘自 Grub 2 指南Ubuntu 论坛。
答案2
使用您喜欢的文本编辑器以 root 身份编辑该文件/boot/grub/menu.lst
。找到类似下面的部分:
title Debian
root (hd0,0)
kernel /vmlinuz-2.6.26-2-686 root=/dev/sda2 ro
initrd /initrd.img-2.6.26-2-686
title Debian (single-user mode)
root (hd0,0)
kernel /vmlinuz-2.6.26-2-686 root=/dev/sda2 ro single
initrd /initrd.img-2.6.26-2-686
每个都title
对应启动菜单上的一个条目。要禁用某个条目,只需注释掉相应的行即可。因此,要删除上面示例中的条目,Debian (single user mode)
我将编辑该文件,如下所示:
title Debian
root (hd0,0)
kernel /vmlinuz-2.6.26-2-686 root=/dev/sda2 ro
initrd /initrd.img-2.6.26-2-686
# title Debian (single-user mode)
# root (hd0,0)
# kernel /vmlinuz-2.6.26-2-686 root=/dev/sda2 ro single
# initrd /initrd.img-2.6.26-2-686
对要从启动菜单中隐藏的所有条目执行此操作。要恢复条目,只需删除#
。
编辑:直到现在我才意识到你使用的是 Grub 2。抱歉,以上内容仅适用于 Grub 1(又名 Grub Legacy)。在 Grub Wiki 上,我发现这grub.cfg 示例配置。通过解释它,您应该能够注释掉相应的条目,就像我上面展示的那样。
編輯
menuentry "My Linux Kernel on (hd0,1)" {
set root=(hd0,1)
linux /vmlinuz root=/dev/hda1
initrd /initrd
}
menuentry "Chainload my OS" {
set root=(hd0,3)
chainloader +1
}
进入
menuentry "Linux" {
set root=(hd0,1)
linux /vmlinuz root=/dev/hda1
initrd /initrd
}
# menuentry "Other OS" {
# set root=(hd0,3)
# chainloader +1
# }
应该管用,我认为。请注意,我不知道这是否会起作用,并且可能会造成某种伤害。请谨慎行事。