The preface

Mac originally pushed the update package of Big Sur last week, but I was delighted to update it after dinner on Friday. After the update, I found it was really nice. Then I took a vacation over the weekend and didn’t read the specific update.

When I went to work on Monday and went to the local project, I found that some configuration files under the root directory were all missing. At that time, I didn’t realize the seriousness of the problem, so I thought it was overwritten by the system update and just mounted it again.

I followed Catalina’s previous mount method to write folders, but found that the mount couldn’t be mounted and I didn’t have permissions. I started to panic, quickly checked the update log of Big Sur, and found that Apple had added another SSV on SIP, directly placed the system under the read-only volume, of course, it couldn’t be mounted as read/write again.

Searching for a long time on the Internet, finally found a few big guy’s explanation and plan, basically is to rewrite the system snapshot.

Reference:

Forums.macrumors.com/threads/dis…

Iosre.com/t/big-sur/1…

Zhangzi. Life/articles / 16…

The solution

  • Check whether FileVault is turned off on your Mac. If FileVault is turned on, there will be problems in the following steps.

  • Restart the Mac and holdcommand+rEnter the recovery mode on the terminalcsrutil authenticated-root disableThis error is reported if FileVault is not turned off in the first stepFailed to disable the authenticated root requirement,FileVault must be disabled for "Macintosh HD", and then restart a normal boot;
  • After the restart, open the terminal and entersudo mount -o nobrowse -t apfs /dev/diskNsM /path/to/mntpointTo mount the system, diskNsM is the device name of the system disk, which can be seen in the disk tool:
  • Note that the last s and the following content should be deleted. For example, if the name of my system disk is disk1s1s1, diskNsM is disk1s1./path/to/mntpointFor the path I want to mount, which could be any path, I mounted localData. My entire order is:sudo mount -o nobrowse -t apfs /dev/disk1s1 /Users/xxx/Desktop/localData/;
  • After the mount is complete, the folder you mounted becomes the root directory of the system, and you can copy the files you need into it.
  • To rebuild the system snapshot, run the following command:sudo bless --folder /path/to/mntpoint/System/Library/CoreServices --bootefi --create-snapshot, the command used in my case is:sudo bless --folder /Users/xxx/Desktop/localData/System/Library/CoreServices --bootefi --create-snapshot;
  • Reboot your computer, and you’re done!

harm

It took more than two hours, please back up your previous system in TimeMachine before updating it!!