为什么 grub.cfg 和实际启动选项不同?

为什么 grub.cfg 和实际启动选项不同?

最近升级后,我的启动选项发生了改变。

根据我找到的说明,我下载了一个名为的工具grub-cfg,并使用它来更改我的启动选项。不幸的是,它不起作用。

我的配置中的选项/boot/grub/grub.cfg和实际显示的启动选项不同。这是我的 grub.cfg 标头(我的完整 grub.cfg 是这里):

菜单条目“Ubuntu”--class ubuntu --class gnu-linux --class ...
菜单项“Ubuntu,带有 Linux 12.04 3.2.0-24-generic”--class ubuntu ...
菜单项“内存测试 (memtest86+)”
菜单项“内存测试 (memtest86+,串行控制台 115200)”
菜单项“Windows 7 (loader) (在 /dev/sda1 上)”--class windows ...
菜单项“Windows 恢复环境(加载器)(在 /dev/sda3 上)”--...

启动菜单实际上是这样的:

显示的选项与 grub.cfg 中的菜单项不同!

如果我理解正确的话,grep 中的条目正是我应该在启动屏幕上看到的,但显然不是。我希望 grub 启动选项与我在 grub config 中设置的值一致;默认应该将我带到 12.10 内核,而不是 12.04(2.6.38-16 通用)内核。发生了什么?


这里还有更多信息。我查看了 /var/log/system.1,发现以下内容

12 月 26 日 14:23:20 hikari 40grub2:跳过条目“Ubuntu,带有 Linux 3.2.0-23-generic(在 /dev/sdb6 上)”:
12 月 26 日 14:23:20 hikari 40grub2:似乎是从另一个 menu.lst 获取的自动引用
...12 月 26 日 14:23:20 hikari 40grub2:调试:解析:### END /etc/grub.d/41_custom ###

这里特别有趣的是,我的系统上有 Windows 7、Ubuntu 12.04 和 Ubuntu 12.10。grub.d/41_custom 文件位于 12.04 系统上,而不是 12.10 系统上。

所以发生的情况是,在最后一次升级之后,grub 读取了 12.10 /boot/grub.cfg,但从 12.04 区域解析了 /etc/grub.d。

有人建议下一步该去哪里吗?

怎么会这样?

答案1

在发现重新启动时 /etc/grub.d 文件使用的分区与当前操作系统版本不同之后,我断定它一定是使用了旧安装中的 grub。我查看了 grub 配置图形工具,发现了一个重新安装 MBR 的选项,然后执行了此操作。问题解决了 - 我现在从正确的 grub.cfg 文件启动。

感谢您的帮助。WindowsEscapest 关于 grub.d 的建议让我走上了正确的道路。Steve

S.

相关内容