How to make root volume writeable in Big Sur?

In Catalina, the root volume could be mounted as read/write by disabling SIP and entering the following command:

Code Block language
sudo mount -uw /

This command doesn't seem to be working under Big Sur:

Code Block language
mount_apfs: volume could not be mounted: Permission denied
mount: / failed with 66

What should I do now?
Try changing your Secure Boot option to "Medium Security" or "No Security" if you are on a computer with a T2 chip.
Why do you need to modify the root volume? Given the read-only system volume change we announced last year, and its further evolution this year, that’s something best avoided where possible.

My experience is that most of the common use cases for this are covered by synthetic symlinks (see the synthetic.conf man page).

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
I have a 34 inch ultrawide monitor with a 3440x1440 resolution, just below the threshold for native HiDPI support. At its native resolution, the text is very small and difficult to read. Therefore, I usually use my custom display profile to enable HiDPI support at 2560x1080, which requires access to /System/Library/Displays/Contents/Resources/Overrides/

Therefore, I usually use my custom display profile to enable HiDPI support at 2560x1080, which requires access to /System/Library/Displays/Contents/Resources/Overrides/.

Thanks for the explanation.

Does the equivalent path in /Library work for this? If not, you should definitely file a bug about that. Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Try the directions below:


csrutil authenticated-root disable

sudo mount -uw /Volumes/Macintosh\ HD\ 1

sudo /System/Library/Filesystem/apfs.fs/Contents/Resources/apfssystemsnapshot -s "SnapshotName" -v /Volumes/Macintosh\ HD\ 1

sudo /System/Library/Filesystem/apfs.fs/Contents/Resources/apfs
systemsnapshot -r "SnapshotName" -v /Volumes/Macintosh\ HD\ 1




Does the equivalent path in /Library work for this? If not, you should definitely file a bug about that. Please post your bug number, just for the record.

I tested this and can confirm it works, no need to disable SIP, change the boot security or mount the system files as read-write.
FYI, I found <twitter.com/EBADTWEET/status/1275454103900971012> most enlightening.



@jichi_zhang, I’m still interested to know if switching to the /Library directory works.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
I tried the directions by Sarassine.
Didnt worked for me.
Is there any way actually to get this.
We have a legacy testing system for our products and this will create a huge change which will impact our work too much.
As for security I am not concerned much as we use our macs in a local network.
Hey all!

I have the same problem as the OP. I got a 1440p screen, the LG 27GL850, on Big Sur Beta 4.
In Catalina, I solved the issue of small UI by using a tool on GitHub called one-key-hidpi. It
makes MacOS think a display is a Retina display, making the scaling settings the Retina monitors get show in the Display options System Preferences for my 1440p.

In Big Sur, the tool no longer works since it doesn't have access to the root volume anymore.

Like everyone else here, I discovered that you have to as it is said in:
  • twitter.com/EBADTWEET/status/1275454103900971012

  • apple.stackexchange.com/questions/395508/mount-root-as-writable-in-big-sur

In the mounted directory, I placed necessary file at /System/Library/Displays/Contents/Resources/Overrides/ to add a display option.

By the way, I used this site: wacky.one/blog/macos-hi-dpi/#one-key to generate the file. The site is in Chinese but the file generation part is at the bottom.

When I rebooted the system, I used a tool called RDM (download link is at very bottom of site), which gives you more options for display settings to check if the changes took effect, they didn't. However, I suspect it was fault on my part. Perhaps I made an error and put the file into the wrong Library. I will try this again tomorrow, I feel like this method is promising.

If anyone is also stuck, feel free to try this method and post your findings here, thanks.

I will also submit a feedback since I'm on the beta, but it likely won't be addressed any time soon since people have been asking for lower resolution displays to have scaling setting for years now. For now, I will be doing the real work in Catalina.
Update: my suspicions were correct, mission success!

I didn't actually use the files that were newly generated. Because I installed Big Sur on a separate partition, I replaced everything in /System/Library/Displays/Contents/Resources/Overrides/ with the old ones from Catalina which have already been modified by a tool that I used which I mentioned called one-key-hidpi.
Another update: just use this fork which uses /Libary instead https://github.com/mlch911/one-key-hidpi

Got it working by using /Library instead of /System/Library. No need to disable SIP.
I have the same problem and I tried pretty much everything, SIP disabled, adding to /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-#/DisplayProductID-*
RDM does not let me to select the 1090x1080 with HIDPI it does not take effect after clicking on it, same with SwithResX
SIP enabled and trying the one-key-hidpi github tool writting into /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-#/DisplayProductID-*. (which btw this directory does not exist, we do have to create it I assume ? )
This is like an April fools joke that we have to spend time fixing an external monitor which is something a VERY basic laptop can do efficiently but our macbooks can't handle it.
Is apple going to fix this issue ?
Anybody facing the same issue using Catalina 10.15.7 ?
To enable HiDPI on Big Sur (11.0.1):

You need to get all the files/folders that are in /System/Library/Displays copied over to /Library. Then you can copy your resolution .plist file.

To make things easier you can just copy/paste this command into terminal:
Code Block language
sudo cp -R /System/Library/Displays /Library/

Now copy over your generated file. Here is an example:
Code Block language
sudo cp ~/Downloads/DisplayProductID-413a.plist /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-10ac/DisplayProductID-413a

Hope this helps!



Code Block
Disable FileVault
Reboot into recovery mode and run:
csrutil authenticated-root disable
Reboot back into MacOS
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
Create a new directory, for example ~/mount
Run sudo mount -o nobrowse -t apfs DISK_PATH MOUNT_PATH, using the values from above
Modify the files under the mounted directory
Run sudo bless --folder MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshot
Reboot your system, and the changes will take place


Troubles:

Code Block
sudo mount -o nobrowse -t afps /dev/disk1s5 ~/mount 
Password:
mount: exec /Library/Filesystems/afps.fs/Contents/Resources/mount_afps for /Users/user/mount: No such file or directory
mount: /Users/user/mount failed with 72

Code Block
Disable FileVault
Reboot into recovery mode and run:csrutil authenticated-root disable
Reboot back into MacOS
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
Create a new directory, for example ~/mountRun sudo mount -o nobrowse -t apfs DISK_PATH MOUNT_PATH, using the values from above
Modify the files under the mounted directory
Run sudo bless --folder MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshot
Reboot your system, and the changes will take place


I'm getting following error after entering
Code Block
sudo mount -o nobrowse -t afps /dev/disk1s5 ~/mount 
in terminal:

Code Block
mount_apfs: volume could not be mounted: Resource busy
mount: /Users/ishanpandey/mount failed with 75





Hi guys after doing all this my monitor works now, thanks! But how to revert the steps you've stated here? I can't reactivate FileVault again...


Disable FileVaultReboot into recovery mode and run:csrutil authenticated-root disableReboot back into MacOSFind 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/disk1s2Create a new directory, for example ~/mountRun sudo mount -o nobrowse -t apfs DISKPATH MOUNTPATH, using the values from aboveModify the files under the mounted directoryRun sudo bless --folder MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshotReboot your system, and the changes will take place

How to revert these steps so that I can activate FileVault again?

BTW: for people who still have trouble with these steps: you have to copy the order "Displays" from /System/Library to /Library , and then modify your display stuff there.
For users who use another language than english. The path to your directory is still in english even if the Finder shows you another language like in my example German. My MOUNT_PATH was /Users/juri/mount
Mind the big letters! Very important!
@jurijurka
I also want to revert the FileVault.

I tried to enable the authenticated-root in the recovery mode. Guess what? I got endless rebooting. So I give up and leave FileVault closed.
@sh00tg0a1
I have the same problem!!
After writing in the recovery terminal "csrutil authenticated-root enable" I am getting infinite endless reboots! After "csrutil authenticated-root disable" the macbook works again, but I still can't activate filevault!

I urgently need FileVault, because I have previous company data on my MacBook and we MUST use FileVault for protecting the important data.

This is really a pain in the a$$! Can someone tag an apple engineer into this thread? maybe he has an idea how we can make FileVault work again! It's really a shame that Apple forces us to do this radical step so that we can use our Monitors (I have a big one from LG) and then stabs us from behind. I'm really angry!

@eskimo we need your help!
Guys. I have bad news. DON'T follow the tutorial!!! Don't do "csrutil authenticated-root disable"!!! Never ever! Else you will also break your system like I and many others did. I hate my life. So if you fellas don't want to break your macbook (you lose your major security gates), buy a new monitor and forget about the old one. If you decide to use Apple (well, I didn't decide it since I was forced), then you decide to waste a ton of money. So if you also have monitor problem, either you buy a new monitor, or you switch your OS back to windows. I really hate Apple for doing things like these. Thanks for wasting my money.


Trust me: you really don’t want to do this in Big Sur. As explained above, in order to do this you have to break the seal on the System volume. You can’t then reseal it. Ever.
Furthermore, users are reporting that before you can do that, you have to disable FileVault, and it doesn’t appear that you can re-enable that either.
If you really want to do that, then the basic requirements are outlined above, but you’re out almost on your own in doing it, and will have lost two of your two major security protections. I wish you the very best of luck – you’ll need it!
Howard.


So I would not do "csrutil authenticated-root disable" myself, but I have part of the purchased software installed in the system partition, if on previous versions of Mac OS I could do it with minimal losses for system security, now I have been fighting for a week to make the partition writable, I I need to install what I need, on what basis does Apple not give me access to my own data that is stored on my computer? Encode the files as you want, but I must have access to any section on my disk
If you've updated to macOS Big Sur, have your DisplayVendorID-* file ready but can't copy it to  /System/Library ,try /Library folder instead:

/Macintosh HD/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-*

Then restart your mac and your monitor would show the correct colours :)
This worked for me on Big Sur latest version thanks a lot.
If you've updated to macOS Big Sur, have your DisplayVendorID-* file ready but can't copy it to /System/Library ,try /Library folder instead:

/Macintosh HD/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-*

Then restart your mac and your monitor would show the correct colours :)

This works guys Thanks to erfanglmpr
Can someone please explain how to copy it to /Library folder instead? Do I have to create this folder or does it already exist? Do I have to do this in recovery mode?
How to make root volume writeable in Big Sur?
 
 
Q