13

After updating to big sur, I can no longer mount the root as writable (even with SIP disabled):

sudo mount -uw /
mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

How can I fix this?

14

DISCLAIMER: have a good backup and plan to erase and reinstall your Mac from the internet before trying this procedure. A mistake can prevent your system from starting without assistance.

  1. Disable FileVault
  2. Reboot into recovery mode and run:
    csrutil authenticated-root disable
    
  3. Reboot back into MacOS
  4. Find your root mount's device - run mount and chop off the last s, e.g. if your root is /dev/disk1s2s3, you'll mount /dev/disk1s2
  5. Create a new directory, for example ~/mount
    mkdir -p -m777 ~/mount
    
  6. Run sudo mount -o nobrowse -t apfs DISK_PATH MOUNT_PATH, using the values from above
    sudo mount -o nobrowse -t apfs /dev/disk1s2 ~/mount
    
  7. Modify the files under the mounted directory
  8. Run sudo bless --folder MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshot
  9. Reboot your system, and the changes will take place
7
  • DISK_PATHis /dev/disk1s2, MOUNT_PATH is ~/mount, I assume? – nohillside Jul 6 '20 at 6:17
  • 2
    WARNING If you follow these instructions you will not be able to reenable FileVault! – user3439894 Dec 23 '20 at 12:55
  • 2
    How is this managed to work? You cannot unmount something that runs your terminal and zsh/ bash /sh whatever you need to run it? I cannot manage to get this working as mount_apfs: volume could not be mounted: Resource busy failed with 75 – Dominik Bucher Feb 5 at 1:05
  • 1
    I'm getting exactly what @DominikBucher says on an M1 (Apple Silicon) with latest Big Sur installed. When mounting from recovery and modifying, for instance, files under /System/Library/LaunchDaemon/ with both SIP and SSV disabled (SSV = eclecticlight.co/2020/06/25/…), any modifications performed are not persisted once I boot back into OSX :/ – brainstorm Feb 12 at 2:12
  • Even with Big Sur 11.0.1 (not the latest), it gives mount_apfs: volume could not be mounted: Resource busy and fails with 75, like what @DominikBucher and @brainstorm said. – auspicious99 Apr 28 at 11:24
6

My company requires to read/write environment informations under /data/webapps/appenv. Therefore, this workaround shared by a colleague of mine might not answer this question directly, but it is super useful if you want to write something under your root path!

  1. Create a file: sudo vim /etc/synthetic.conf.

  2. Write content: <dir> /System/Volumes/Data/<dir>. Notice: the space between is a tab!

    In my case, it looks like this: data /System/Volumes/Data/data

  3. Go to /System/Volumes/Data and do sudo mkdir <dir>.

  4. Then do sudo chmod -R 777 <dir>.

  5. Finally, reboot, and your directory <dir> should now be accessible.

3
  • 2
    I don’t know why this was downvoted. Maybe because the answer is formulated in an anecdotal way, but AFAICS it points to the preferable way of creating symlinks or directories under / on Big Sur, namely “synthetic firmlinks”, see man synthetic.conf or derflounder.wordpress.com/2020/01/18/… – hans_meine Apr 3 at 18:55
  • Saved my day, thanks! – Aaron Wang Apr 21 at 5:42
  • This is the actual correct answer that solves the XY problem here – Andrew Faulkner Jun 9 at 18:24

You must log in to answer this question.

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