更改启动菜单 - GRUB

更改启动菜单 - GRUB

可能重复:
使 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
  • # }

应该管用,我认为。请注意,我不知道这是否会起作用,并且可能会造成某种伤害。请谨慎行事。

相关内容