编辑 grub 菜单

编辑 grub 菜单

我想编辑出现的 Grub 菜单,移动一行并删除其他行。

我有一台 Inspiron 灵越 1420,附带 Ubuntu 7.10。当它需要新驱动器时,我安装了原始操作系统Windows 7,然后10.04似乎需要自己的分区。我可能应该首先检查一下我在做什么(著名的遗言)。

我想做的是完全删除 7.10 行,这样我就可以清除该分区中的所有内容并将其用作 10.04 的 /home。我还想将 Windows 7 行移动到从顶部开始的第二行,这样在 Windows 中启动只需快速敲击两次按键,而不是沿着该行一路向下。点击 Grub 编辑键会出现不清楚的指令,而且由于这是引导加载程序,我宁愿不要把它搞砸得太糟糕。

那么,最好的方法是什么?

答案1

简短回答:/etc/grub.d/删除7.10分区,根据需要编辑其中的文件,然后运行sudo update-grub

长答案: 启动菜单中的编辑模式用于临时编辑,通常用于恢复或测试目的。要永久更改选项,您需要启动到将 Grub 安装到启动块的操作系统,并在那里更改 Grub 配置。

Ubuntu 10.04 默认使用 Grub2,每次运行 update-grub 时都会消除menu.lst并自动生成。grub.cfg我不会手动编辑该文件,因为您的更改可能会消失(update-grub 在各种更新后自动运行,尤其是那些处理内核的更新)。

我要做的第一件事是确保您使用的是 10.04 分区中的 Grub,而不是 7.10 分区。我相信启动到 10.04 并运行sudo update-grub应该足够了。如果运行正常,则说明您使用的是正确的 Grub。如果没有,它应该提供一条错误消息,您可以使用它来确定需要做什么。

要删除 7.10 条目,可能很简单,只需擦除该分区然后运行sudo update-grub​​.大多数 Grub2 条目都是自动检测的,因此如果它不再检测到可引导内核,它就不会列出它。如果这不能清除它,则要编辑的文件位于 中/etc/grub.d/,查找特定于 7.10 的文件或部分并将其删除(确保首先备份您编辑/删除的任何文件),然后重新运行sudo update-grub。如果你搞砸了,你可以通过放回备份文件并重新运行来修复它sudo update-grub,尽管如果你设法以某种方式毁掉了你的 10.04 条目,你可能需要启动你的恢复光盘。

重新排序比较棘手,它们来自的顺序文件以及/etc/grub.d/这些脚本中的顺序。 Windows 条目来自30_os-prober,因此您可以将其重命名11_os-prober为将其放在来自 的条目之后10_linux,但这不会使其成为第二个条目,而且我不确定这是否会因更新而中断。

如果你不介意先有 Windows 条目,然后是 Linux 条目(但默认),我所做的就是复制40_custom01_customWindows 菜单条目部分,然后逐字复制/boot/grub/grub.cfg。这会将 Windows 作为第一个条目,然后您可以编辑/etc/default/grub并放置GRUB_DEFAULT=1以使第二个条目(从 0 开始计数)成为默认条目(假设为 10.04)。请注意,这将复制启动菜单中的 Windows 条目,您可以通过从 中删除执行位来消除重复项30_os-prober,但我建议保留它,以防您稍后需要 os-prober 的自动探测条目。

答案2

  1. grub-pc如果您还没有这样做,请告诉 Ubuntu 10.04 强制使用自己的 Grub2(软件包)进行引导(安装程序可能已重用 7.04 中现有的 Grub)。它可能很简单

    sudo update-grub
    sudo grub-install /dev/sda
    

    但检查https://help.ubuntu.com/community/Grub2如果你有麻烦。如果您看到有关 7.04 的内容,请不要担心:这是预期的且无害的。

  2. 删除 7.04 安装。

  3. update-grub在10.04系统上再次运行。这次它应该只提供启动 Ubuntu 10.04 和 Windows。

  4. 我想不出一种简单的方法可以将 Windows 条目置于正常的 Linux 条目和救援 Linux 条目之间。但我认为在您的情况下,Windows 条目将是最后一个,因此您可以使用 启动它End Enter

答案3

您可能应该参考 Ubuntu 文档

(对于 Grub Legacy)的示例menu.lst可以通过谷歌搜索“grub menu.lst”找到。这里是第二个结果(第一个是关于Grub2的)。

相关内容