我想编辑出现的 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_custom
到01_custom
Windows 菜单条目部分,然后逐字复制/boot/grub/grub.cfg
。这会将 Windows 作为第一个条目,然后您可以编辑/etc/default/grub
并放置GRUB_DEFAULT=1
以使第二个条目(从 0 开始计数)成为默认条目(假设为 10.04)。请注意,这将复制启动菜单中的 Windows 条目,您可以通过从 中删除执行位来消除重复项30_os-prober
,但我建议保留它,以防您稍后需要 os-prober 的自动探测条目。
答案2
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 的内容,请不要担心:这是预期的且无害的。
删除 7.04 安装。
update-grub
在10.04系统上再次运行。这次它应该只提供启动 Ubuntu 10.04 和 Windows。我想不出一种简单的方法可以将 Windows 条目置于正常的 Linux 条目和救援 Linux 条目之间。但我认为在您的情况下,Windows 条目将是最后一个,因此您可以使用 启动它End Enter。