在外部Ubuntu安装运行update-grub之后,在(Intel)Mac上还原Apple Bootloader


10

我已经在外部HDD上安装了Ubuntu,并且将它用作可移植的安装,无论我走到哪里,都可以随身携带。

今天,我在朋友的iMac上启动了它,并且在Software Updater要求我安装更新之后。所以我做了。

从那时起,我已经完成了它,所以我关闭了计算机并拔下了外部硬盘。之后,我立即再次启动了iMac,以便它将引导回OSX。

令我震惊,恐惧和困惑的是,我遇到了GRUB救援屏幕!

那怎么可能?Ubuntu安装在外部硬盘上,而不是内部硬盘上!GRUB如何最终出现在iMac的内部硬盘上?

更重要的是,我该如何解决?



1
@Fran-不,不是骗子。我想还原Apple引导加载程序,而不是GRUB。
You'reAGitForNotUsingGit

Answers:


9

(向下滚动以获取实际修复)

因此事情比起初看起来更加复杂。

为了维持与MS-Windows的兼容性,Apple使用混合UEFI和Legacy MBR模式。显然,有一个NVRAM值告诉固件是尝试以UEFI模式(OS-X)还是以旧版MBR模式(Windows)引导。该值由您在“系统偏好设置>启动磁盘”中的选择控制。(不要问我为什么,请问苹果)

现在,为了从外部HDD引导Ubuntu,我首先从将rEFInd的ISO刻录到的DVD进行了引导。(Option在启动过程中按住键时,用DVD图标选择“ EFI启动” )。从该DVD引导后,然后选择要从rEFInd内部引导的外部HDD。

这是事情开始变得很奇怪的地方。告诉rEFInd从外部硬盘启动后,紫色GRUB屏幕再也没有出现(是的,我设置了延迟),此外,没有紫色圆点启动动画。相反,它是滚动的白色文本启动。

从我可以看出,在启动之前更仔细地查看rEFInd是,Ubuntu选项实际上是加载特定的内核,而不仅仅是从磁盘启动。

这意味着,因为rEFInd很明显是EFI,并且本质上是作为GRUB的替代品,即使Ubuntu在MBR模式下安装到外部HDD上,它最终还是在UEFI模式下启动。

这个事实非常重要,您很快就会明白原因。

因此,然后让软件更新程序运行一些更新。查看日志,似乎该update-grub命令是在安装过程中运行的。这是所有坏事发生的地方。现在,我还不知道到底发生了什么,但这是我最好的猜测:由于grub以MBR模式安装,因此grub更新程序感到困惑,但是Ubuntu目前以UEFI模式启动。由于混淆,以及根据您所引导的mod来将引导加载程序安装到其他位置的事实,grub更新程序犯了一个大错误,并以MBR模式将grub安装到内部HDD。


现在进行实际修复!

在我特定的情况下,如果我Option在启动过程中按住键并选择“ Macintosh HD” ,则OS-X分区仍可启动。

引导OS-X之后,您需要打开“系统偏好设置”,然后转到“启动盘”。选择OS-X卷,单击Apply(应用)或其他命令,重新启动,然后BOOM!苹果徽标显示!


现在,仅供参考,我认为虽然可以解决问题,但是GRUB仍然位于扇区0,但是我认为它不会对扇区造成任何损害,并且如果在Boot Camp中安装Windows,肯定不会造成任何伤害,因为Windows可以启动加载程序只会覆盖它,然后

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.