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?
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.
csrutil authenticated-root disable
mount and chop off the last s, e.g. if your root is /dev/disk1s2s3, you'll mount /dev/disk1s2~/mount
mkdir -p -m777 ~/mount
sudo mount -o nobrowse -t apfs DISK_PATH MOUNT_PATH, using the values from above
sudo mount -o nobrowse -t apfs /dev/disk1s2 ~/mount
sudo bless --folder MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshotzsh/ 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
Commented
Feb 5, 2021 at 1:05
/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 :/
Commented
Feb 12, 2021 at 2:12
bless command) fails to even create a snapshot, much less bless it. I also tried another way to create a snapshot, /System/Library/Filesystems/apfs.fs/Contents/Resources/apfs_systemsnapshot -v <volume mount point> -r "" from tonymacx86.com/threads/… but that also gave an error, so I rebooted back without a snapshot of my changes, and lost them all ..
Commented
Apr 28, 2021 at 16:05
authenticated-root was not properly disabled. I run MacOS in VMWare, and disabled SIP using this guide: itectec.com/askdifferent/… but disabling authenticated-root was missing from the hex value stored to NVRAM. Using value ff0f0000 instead of 7f000000 did the trick.
Commented
Apr 10, 2022 at 15:22
The company I work for requires us 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!
Create a file: sudo vim /etc/synthetic.conf.
Write content: <dir>⇥/System/Volumes/Data/<dir>. Notice: the ⇥ is a tab!
In my case, it looks like this: data⇥/System/Volumes/Data/data
Go to /System/Volumes/Data and do sudo mkdir <dir>.
Then do sudo chmod -R 777 <dir>.
Finally, reboot, and your directory <dir> should now be accessible.
PS: See see man synthetic.conf or https://derflounder.wordpress.com/2020/01/18/creating-root-level-directories-and-symbolic-links-on-macos-catalina/ for details about synthetic.conf.