编辑 grub 菜单

Dav*_*ley 3 ubuntu boot-menu grub2 grub-legacy

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

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

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

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

Kow*_*owh 6

简短回答:删除 7.10 分区,/etc/grub.d/根据需要编辑文件,然后运行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 menuentry 部分,然后/boot/grub/grub.cfg逐字复制。这将 Windows 作为第一个条目,然后您可以编辑/etc/default/grub并放置GRUB_DEFAULT=1以使第二个条目(从 0 开始计数)成为默认值(假设是 10.04)。请注意,这将复制启动菜单中的 Windows 条目,您可以通过从 中删除执行位来消除重复项30_os-prober,但我建议保留它,以防您稍后需要来自 os-prober 的自动探测条目。