在OS X 10.10 Yosemite上安装rEFInd


8

我想用Arch Linux双启动我的Macbook,因此尝试使用安装脚本安装rEFInd,但是,安装后rEFInd似乎根本无法启动?任何人都遇到过相同的问题,或者对如何解决此问题有可能的解决方案?


好。今天更新后,我也有这个问题。改装和重新改装均无效。我只是在Mac中使用install.sh进行安装。但是从未显示过启动管理器。有任何想法吗?
xgdgsc 2014年

OS X 10.10上的rEFInd给了我很多奇怪的问题。我最终将MacBook重新安装到OS X 10.9,然后为此进行了固定化。自从我再次使用reEFInd以来,几乎没有接触过OSX。我编辑并拒绝了我的答案,以便为更好的答案让路。
拉瓦

Answers:


6

只是想让您知道,我找到了一种解决方案来避免现在著名的“ 30秒等待” ;-)

我有一台2012年中的MacBook Air。我尝试了您提到的所有解决方案,以加快Yosemite下的启动速度,但对我而言,最好的解决方法是更改​​EFI分区上的refind文件夹名称,并重命名refind文件。

因此,它给出:

  1. 为了安全起见,我./install.sh --alldrivers在安装rEFInd时添加了所有“ drivers_x64”文件夹

  2. 在优胜美地(存储在/dev/disk0s1)下的EFI分区上,我将“ refind”文件夹重命名为“ BOOT”

  3. 在该文件夹中,我将“ refind_x64.efi”重命名为“ bootx64.efi”

最后2个步骤使我的Mac能够立即在rEFInd上启动,它不再等待30秒左右来扫描EFI磁盘!


刚刚尝试过。谢谢(也许答案应该结合起来)
Dimitrios Mistriotis 2014年

这应该是一个单独问题的答案,我猜测使用refind引导到linux的macbook pro的任何人都想知道答案。还要澄清一下:完成此操作后,您甚至无需祝福(从OS X来的)bootx64.efi-例如,如果在其自己的专用分区上有有效的refind安装,并且执行了步骤2和3,则突然花费了很多时间从打开计算机到查看refind菜单之间的时间大约是30秒到几秒钟。ang!
科林2015年

5

我通过在安装refind时简单地添加--alldrivers来解决此问题。优胜美地双启动现在可以像以前一样工作。速度很快,一切都在refind引导菜单中进行了协调。

install.sh --alldrivers

我是rEFInd的开发人员,强烈建议您不要使用--alldrivers选项install.shrefind-install在0.10.0及更高版本中称为)。该选项将安装所有文件系统驱动程序,但是大多数计算机只需要零或一个驱动程序。使用所有这些组件都可能造成严重的风险,甚至可能导致计算机挂起。存在用于帮助构建恢复USB闪存驱动器的选项。从OS X运行时的最新版本,如果检测到Linux分区,则安装ext4fs驱动程序。可能是重新安装本身而不是--alldrivers修复了您的问题。
罗德·史密斯

5

我将在这里回答我自己的问题,因为rEFInd现在有一个正式的解决方案,因此,我相信这是解决此问题的正确方法。

官方指南可在rEFInd网站上找到

以下是此处介绍的步骤:

  1. 使用可用的任何方式引导到OSX。开机时按住Option(或Alt)键通常会为您提供苹果自带的启动管理器,这将使您能够启动到OSX。但是如果rEFInd没有启动,请执行步骤2-7。
  2. 如果您对进行了更改/EFI/refind/refind.conf,请备份它。
  3. 删除/EFI/refind目录树;现在它已经没用了,它的存在可能会引起混乱。
  4. 重新安装rEFInd,如“ 安装rEFInd”页面中所述;但请确保使用--esp--ownhfs device-file选项。后者是可取的,但需要rEFInd的专用分区或当前不可引导的HFS +数据分区。
  5. 确保已安装rEFInd的分区已安装。详细信息取决于您的安装方式:
    • 如果在您的ESP上安装了rEFInd,则输入mkdir / Volumes / esp,然后输入sudo mount -t msdos / dev / disk0s1 / Volumes / esp可能会起作用,尽管在某些情况下您的ESP不会/dev/disk0s1,所以您可能需要更改这个细节。
    • 如果使用了--ownhfs设备文件安装选项,则目标分区应该已经安装,通常在/ Volumes下。如果没有,找到它并用Disk Utility或挂载mount
  6. 如果备份了refind.conf文件,则现在可以将其复制到新refind.conf文件上。您应该将文件复制到/Volumes/esp/EFI/refind/(如果使用--esp并在上安装了ESP /Volumes/esp)或/Volumes/Mountpoint/System/Library/CoreServices/(如果使用专用的HFS +卷,请复制到;请注意Mountpoint将是卷的名称)。
  7. 编辑您的新refind.conf文件,该文件应位于上一步中所述的位置。在您喜欢的编辑器中,找到该dont_scan_volumes行,默认情况下,该行的开头用#符号注释掉了。取消注释该行,然后从该行中删除“ Recovery HD”项。一些用户报告说,他们需要输入一个或两个虚拟条目(如中所示dont_scan_volumes foo,bar)才能使其正常工作。

1

我想出了在优胜美地中使用rEFInd的解决方法,但请注意,它可能不是最佳解决方案
我认为rEFInd不再在优胜美地环境下工作的原因是因为系统的根分区不再位于物理分区中,因此在启动阶段将无法识别rEFInd。因此,我尝试将rEFInd手动安装到EFI分区中,并且可以正常工作。

步骤如下:
1.打开Disk Utility,选择EFI分区并挂载它。通常,安装点应该是/ Volumes / EFI2
我假设您已经通过使用默认参数运行install.sh脚本来安装了rEFInd (rEFInd应该安装在/ EFI / refind上)。打开终端,键入以下命令: cp -r /EFI/refind /Volumes/EFI/EFI/ sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi

此解决方法有缺点。在我的Macbook Air上,花了40秒钟,直到出现rEFInd菜单并且菜单中没有识别和列出优胜美地分区,才检测到我的linux bootloader(grub2efi)和恢复分区。
如果要启动到优胜美地,则必须在启动过程中按住Option键,然后选择您的优胜美地分区。

另一个解决方法是使用USB驱动器引导第三方引导程序。
例如,签出此页面。您可以创建一个独立的GRUB2 EFI映像,然后将其放在USB驱动器分区(FAT32格式)的/EFI/boot/bootx64.efi中。在启动过程中
按住Option键,您的USB驱动器将显示为EFI boot。您可以使用它引导到临时GRUB2菜单,使用类似configfile (gpt0,X)/boot/grub/grub.cfg (其中X是您的Linux分区或/ boot分区)的命令将获得您的旧GRUB2菜单,然后它应该照常工作。


1

实际上,Samantha提供的链接似乎提供了最简单的解决方案:

diskutil list

您会看到类似以下内容:

$diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         175.6 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         70.3 GB    disk0s4
   5:                 Linux Swap                         4.2 GB     disk0s5
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *175.3 GB   disk1
                             Logical Volume on disk0s2
                             41AF7850-5594-4959-A135-582BF79FDE46
                             Unencrypted

然后使用:

diskutil corestorage revert /dev/disk1

并重新启动,refind现在可以再次工作。


1

是的,它可以,因为rEFInd由于核心存储而无法工作。整个磁盘(即所有分区)都作为一个卷进行管理,而rEFInd在“多个驱动器上的几个分区作为一个逻辑卷”中丢失了。

因此,您必须在核心存储性能或rEFInd之间进行选择。

您的选择:

  • 将rEFInd安装到另一个HFS分区
  • 安装到ESP中

现在请参见rEFInd主页


1

MacBook(13英寸,2009年末),优胜美地10.10启用了全盘加密(FileVault)。像这样安装了rEFInd:

./install.sh --esp --alldrivers 
mkdir /Volumes/ESP
sudo mount -t msdos /dev/disk0s1 /Volumes/ESP

在refind / refind.conf中,我找到了dont_scan_volumes指令,并使其看起来像:

dont_scan_volumes foo,bar 

rEFInd成功启动了OS X并进行了恢复:)但我仍然无法从Windows 7安装闪存驱动器启动:(我收到错误消息:

Error: Not Found from LocateDevicePath
....
Error: Not Found from LocateDevicePath
Error: Load Error while (re)opening our installation volume
The firmware refused to boot from the selected volume.

我通过下载几乎安装的Windows快照并将其克隆到所需的分区,然后仅引导至该快照并完成设置来解决了此问题。


0

在优胜美地上,需要将rEFind安装到位于/ dev / disk0s1上的EFI系统分区(ESP)。

您可以通过使用bless手动执行此操作(如在Meow的过程中),也可以--esp在安装rEFind时仅使用该选项,如下所示:./install --esp

就像rEFind的文档中指出的那样,这样做的问题是启动过程非常缓慢-出现rEFind菜单之前需要一段时间。



-2

我有一台MacBook Pro,2012年中,刚刚从Mavericks升级到优胜美地。无法看到rEFInd并在此处找到解决方案。


1
欢迎来到* nix.SE!为了使说明本身在此页面上(并避免诸如link-rot之类的事情),请考虑在帖子的此处发布最重要的信息或说明本身。
HalosGhost
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.