1

I use refind as my boot manager on my 2015 MacBook Air. Originally I had it installed on to my internal drive's EFI partition (and installed it in the recovery environment) but every time I update macOS on my main drive or an external drive, which is frequently due to the nature of my work, macOS sets itself back as the main startup disk and I have to boot back into the recovery environment to rebless refind. This is a pain in the ass.

I noticed that refind has the option of installing itself on to a separate HFS+ partition using the --ownhfs option, which is supposed to allow selecting that partition in the Startup Disk system preferences. I thought that'd be a good solution since every time I update macOS, all I'd need to do is use that pref pane to set the startup disk back to refind. So I made the partition and installed refind to it in the recovery environment. Everything worked okay so far.

However, as soon as I tried to use the Startup Disk pref pane to change my startup disk back to refind, it would give me an error that reads "Running bless to place boot files failed". Here is a screenshot of the error:

Running bless to place boot files failed

Is there anything I can do to get this working? Or is it perhaps the case that this particular feature of refind (installing with --ownhfs) no longer works with macOS 10.14?

Please note that I cannot disable system integrity protection on my system because I routinely need to test software that requires it to be fully enabled. I'm hoping there's a solution that allows me to more easily set refind as the startup disk without disabling SIP.

1

First of all, you do not need to disable System Integrity Protection (SIP) to install rEFInd. Second, you do not need use the bless command to make rEFInd the default on startup. Third, while installing to a HFS+ partition does work on a 2015 Mac, eventually this will no longer be possible on the 2018 and newer Macs. (See the recently posted question: Bless error when installing rEFInd)

As for your specific question, recent versions of macOS will not allow rEFInd to be selected from System Preferences. However for a 2015 Mac, you should be able to select rEFInd as the default on startup by using the Mac's Startup Manager. Restart the Mac and immediately hold down the option key until the Startup Manager icons appear. Next, hold down the control key while selecting the partition rEFInd is installed on. In your case, this partition should by default be labeled the same as HFS volume. Now on subsequent starts, the Mac should boot to rEFInd.

I should also point out that if Windows is installed with the Windows Support Support software, then rEFInd may be set as the default at startup from the Windows Control Panel. This option is only possible when rEFInd is properly installed to a HFS+ partition.

Note: The rEFInd Boot Manager can also be installed 2015 or newer Macs to either an EFI partition or a MSDOS (FAT) formatted partition. You can use the default EFI partition or on any additional EFI partition of your choose to add. If installed properly, rEFInd can be blessed by the Startup Manager.

One final comment. If you install rEFInd to a MSDOS FAT partition, then you can change the default operating system, that rEFInd will boot, directly from macOS, Windows or Linux. This can be done by using a text editor or by installing a script. (The use of these scripts is shown in this answer.) The same is true if rEFInd is install to an EFI partition, except accessing the EFI partition usually requires elevated permissions.

  • I don't think I said that disabling SIP was necessary to install refind. However I believe it is possible to rebless refind when macOS is booted normally if SIP is disabled, which is why I mentioned I needed solutions that don't involve disabling SIP. That said, I didn't know that you could hold control while selecting a volume in the startup manager to change the startup disk, so that's very much a viable solution to this problem. Thanks! – GuyGizmo Oct 5 '18 at 5:11
  • @GuyGizmo: Often, I try to make my answers go beyond the scope of the OP's question. This is to aid other users who may read my answer in the future. So, some parts of my answer may not directly relate to your question. – David Anderson Oct 5 '18 at 8:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .