![Ubuntu 12.04 和 Mac Os X-GRUB 救援提示 SET 命令是否永久生效?](https://linux22.com/image/960695/Ubuntu%2012.04%20%E5%92%8C%20Mac%20Os%20X-GRUB%20%E6%95%91%E6%8F%B4%E6%8F%90%E7%A4%BA%20SET%20%E5%91%BD%E4%BB%A4%E6%98%AF%E5%90%A6%E6%B0%B8%E4%B9%85%E7%94%9F%E6%95%88%EF%BC%9F.png)
我最近重新安装了 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 菜单了。
希望这可以帮助!