Ubuntu 12.04 和 Mac Os X-GRUB 救援提示 SET 命令是否永久生效?

Ubuntu 12.04 和 Mac Os X-GRUB 救援提示 SET 命令是否永久生效?

我最近重新安装了 Mac OS X 分区。这似乎弄乱了我的整个分区方案。

首先,当我尝试启动 Ubuntu 时,我被转到了 Grub rescue> 提示符。我之前从未见过它,而且 help 命令无法识别,所以我开始谷歌搜索。我最终阅读了大部分 grub 恢复文档。

我使用 set 命令设置 root 和 prefix 变量来启动它,然后加载正常模式插件并运行它。它向我展示了正常的 grub 启动菜单,我顺利启动了 Ubuntu。正如文档中所述,这些更改不是永久性的,我必须进行编辑/boot/grub/grub.cfg- 更具体地说,它指出我必须确保变量 search、linux 和 intrd 变量。

我的问题是尝试编辑此文件时,我的 Ubuntu 安装无法重新启动。等待一段时间后,我艰难地关闭了它。当我再次尝试启动时,我又回到了 grub rescue> 提示符...

因此,为了让 ubuntu 启动,我使用以下命令:

set prefix=(hd0,gpt6)/boot/grub
set root=(hd0,gpt6)
insmod normal
normal -> select ubuntu

当编辑/boot/grub/grub.cfg我应该编辑的部分时,我像这样编辑(我认为是搜索行搞砸了,但我不知道我可以删除什么):

编辑:删除一些行以使编辑后的行更易读!

未编辑条目:

set root='(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root ebba50e2-d298-4764-afb5-463c47532158
linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=ebba50e2-d298-4764-afb5-463c47532158 ro acpi_backlight=vendor acpi_osi=Linux  quiet splash pcie_aspm=force $vt_handoff
    initrd  /boot/initrd.img-3.2.0-23-generic

已编辑条目:

set root='(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root ebba50e2-d298-4764-afb5-463c47532158
echo    'Loading Linux 3.0.0-14-generic ...'
linux   /boot/vmlinuz-3.0.0-14-generic root=/dev/sda6 ro acpi_backlight=vendor acpi_osi=Linux
echo    'Loading initial ramdisk ...'
initrd  /boot/initrd.img-3.0.0-14-generic

我认为我正确地编辑了(Ubuntu 恢复菜单项)中的最后一部分。第一个条目(Ubuntu 正常模式)看起来就像 grub.cfg 文件本身希望的那样?哪个是正确的?我现在的问题是,这种改变正确吗?——我是否必须对每个菜单项都执行相同的操作?;)

注意:在此之后我尝试了但不起作用sudo grub-install /dev/sda6- 但出现错误说这是一个分区,并且不支持嵌入 - 这是新手信息,因为我还没有对这部分进行足够的研究,只是认为它可能会带来一些有用的信息..

答案1

我遇到了类似的问题,我在 Kubuntu 上安装了 Ubuntu。我完成安装并启动了电脑,然后繁荣,我不再有菜单来选择我的操作系统,只有救援提示。我开始尝试,发现修复对我来说很简单:

我只需要设置一个不同的硬盘来启动。如果你只使用一个硬盘,这可能不适用。不知何故,当我安装 Ubuntu 时,引导加载程序要么被移动,要么 BIOS 被更改,但我不得不以不同的方式设置启动顺序才能再次看到我的菜单。之后,我现在可以看到我的 grub 菜单了。

希望这可以帮助!

相关内容