升级到 Yosemite 后,我无法再访问 rEFInd 双启动管理器,有什么办法吗?谢谢。
答案1
我通过使用 修复了这个问题efibootmgr
。如果你无法运行 Ubuntu,请使用它的实时版本。
首先确保你已经efibootmgr
安装
sudo apt-get install efibootmgr
然后检查 EFI 可以从哪些分区启动
$ sudo efibootmgr
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0082
Boot0000* ubuntu
Boot0080* Mac OS X
Boot0081* Mac OS X
Boot0082*
BootFFFF*
在我的例子中,它列出了 4 个分区。Boot0000
是安装了 GRUB 的 Ubuntu 分区;默认情况下,我想启动这个分区。
我发现Boot0080
是旧 Mavericks 安装的恢复分区,而Boot0081
是 Yosemite 恢复分区。Yosemite 所在的分区实际上安装,就我而言, 是Boot0082
。
GRUB 无法直接加载 Mac OS X,但我可以配置 EFI 在 GRUB 退出时加载 Mac OS X 分区。
所以我跑了
sudo efibootmgr -o 0000,0082
概括地说,这意味着Boot0000
,在安装 GRUB 的地方,将首先运行,然后如果您退出 grub(按cend 然后输入命令exit
),您就可以启动到 Mac OS X。
为了使启动 Mac OS X 的过程更加舒适,你可以在 GRUB 启动菜单中添加一个条目,退出并启动 Mac OS X。只需编辑/etc/grub.d/40_custom
并附加以下内容
menuentry "Exit to Max OS X" {
exit
}
并使用以下命令重新加载 GRUB 配置
sudo update-grub
一切都应该正常。
答案2
我推荐这个(现已删除)Stack Overflow 上的答案(也可能可用通过 Wayback machine如果没有的话这里截图) 经过艾哈迈德·阿菲夫答案使用的材料来自这个 Linux Mint 论坛教程,这解释了
- Mac 默认启动 Mac OS。我们需要它来启动我们的 GRUB 菜单。
- GRUB 检测到 Mac OS 但不知道如何启动它,所以我们也需要修复它。
要解决这个问题,制作一个实时 USB并从中启动,然后修复启动顺序。
安装并运行efibootmgr
:
sudo apt install efibootmgr
efibootmgr
输出中有一行显示BootOrder
,该行下面是显示每个代码名称的键,例如
BootOrder: 0080, 0000, ...
Boot0000* ubuntu
Boot0080* Mac OS
...
0000
要将启动顺序改为0080
,可以使用以下命令:
sudo efibootmgr -o 0,80
再次运行efibootmgr
以检查是否BootOrder
已改变。
现在 GRUB 将首先启动,我们可以使用它来启动 Ubuntu(或在本教程中为 Mint),或者,要启动 OS X,请按esc并键入exit
。为了避免以后再执行后一步,通常只需启动 Ubuntu 并运行以下命令即可:
sudo update-grub
答案3
如果您使用的是 rEFIt,则必须安装 rEFInd(否则我认为它不起作用)。基本步骤如下:
- 从以下网址下载 rEFIndhttp://sourceforge.net/projects/refind/
./install.sh
从刚刚下载的解压文件夹中运行- 按照说明关机(不要重新启动)并重新启动。
您可能还会发现以下讨论很有用:升级 Yosemite 后,Mac 无法启动 Refit(选择 Ubuntu)。该网站还提供了有关 rEFInd 的有用信息:http://www.rodsbooks.com/refind/