Monday, October 9, 2017

APFS, SuperDuper, and EFI

Dave Nanian:

But, with APFS, we were seeing a number of users indicating that their drive wasn’t ever showing up in the Option+Boot menu, even though the drive was in the Startup Disk Preference Pane, and the usual workarounds didn’t work.


Analyzing the code there showed that, indeed, bless was embedding an APFS driver into EFI using a private, privileged API that we couldn’t (and wouldn’t want to) use. Interestingly, it was being done during the processing of --setBoot, the option that actually makes a drive the current startup volume. So there we go!


Except SuperDuper! can’t use --setBoot, because it gives an error: only Apple apps can use --setBoot.

Or can it?

It takes a lot of testing and effort just to keep apps working.

Previously: SuperDuper and APFS.

Update (2017-10-13): Dave Nanian:

The code that’s having problems is in BLCreateBooterInformationDictionary.c in Apple’s Open Source bless project. After some additional investigation, it looks like, in this case, if the APFS container is on an Apple RAID, bless can’t find the Preboot volume and doesn’t properly set up the container.

Comments RSS · Twitter

Leave a Comment