Hey everyone! After wasting half the day on this, I finally figured out one piece of the snapshots/error 66 puzzle.
The TL;DR is that you can just call
apfs_systemsnapshot -v /Volumes/... -r "" to boot from the live volume.
I haven't seen this published anywhere yet, and the accepted wisdom seems to be that you can't
boot the live volume in BS. Hopefully this method will continue to work. It will make patching much
- disable SIP, including ARV (funnily enough, my very early
patch with all the 0xffffffffs actually works for this, even though @dosdude1
's 0x67 one does not... anyways, I'll find the correct flags shortly and make a new patch)
- boot into Big Sur or a BS recovery/install disk
diskutil mount diskXsY
system volume (not the root snapshot, which will already be mounted at
- find the path to the mounted volume (if you're booted into the same system, it will be
because of the previously mounted snapshot)
/S*/L*/F*/apfs.fs/C*/R*/apfs_systemsnapshot -v "/Volumes/volume_name" -r ""
mount -uw /
should now work, changes will apply immediately to the live volume, and you can remove all the snapshots with
diskutil apfs deletesnapshot
(I spent ages reverse engineering
and learning about the
functions before realizing you could just call the tool with an empty string. But if anyone is interested in the code for programmatically managing snapshots, I am happy to share it.)
Thanks to @mac_4eva
for the starting point.
One remaining mystery is figuring out how to mount the BS root from Cat. With the sealing/snapshots disabled, I don't see any reason why it shouldn't be possible.
I hope this works for others!