Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问

简介: Mac pro升级 MacOS 10.15 Catalina 后根目录是只读的, Recovery OS不能访问

前言

升级这个事情尽量还是少做比较好,升级MacOS之后很多以前的文件换目录了,头痛了很久!因为代码里面的目录是从跟目录开始的,数据转移之后程序没法跑起来,直接建立新目录的话会报错:

xuemins-MacBook-Pro:/ zhuxuemin$ mkdir -p /test
mkdir: /test: Read-only file system

当然很多百度出来的文章是关闭系统文件保护,然后执行csrutil disable

c。在开机状态下按住alt键可以选择RecoveryOS,但是我没得那个选项。

估计找到了那个选项就可以了,我把方法也贴出来

方案一

Macbook pro 升级 MacOS 10.15 Catalina 后不能在根目录 创建文件 文件夹,根目录是只读的 ,不能创建不能移动 不能删除

解决办法:

1、关闭SIP 命令行执行csrutil disable 正常启动

2、重新挂载根目录 命令执行 sudo mount -uw /

3、命令执行 mount

操作完之后 为了计算机安全可以打开 SIP 命令行执行csrutil enable 正常启动

我这招不顶用

方案二

这个主要是synthetic.conf文件中的配置,首先可以使用man synthetic.conf看到这个文件的,我大致解释一下:

synthetic.conf describes virtual symbolic links and empty directories to be created at the root mount point.
     Because the root mount point is read-only as of macOS 10.15, physical files may not be created at this loca-
     tion. All writeable paths must reside on the data volume, which is mounted at /System/Volumes/Data.

这里其实就是说在macOS 10.15之后物理文件是不能在root目录下面穿件的,所有的文件都放到了/System/Volumes/Data目录下面

synthetic.conf provides a mechanism for some limited, user-controlled file-creation at /.  The synthetic
     entities described in this file are synthesized by the kernel during early system boot. They are not physi-
     cally present on the disk, but when the system is booted, they behave as if they were within certain parame-
     ters.

synthetic.conf提供了用户希望把文件创建到/目录下面的机制,当然即使我们这样子看到,实际文件也不会真正放到根目录下面,配置参数之后重启会生效,其实这里就是提供一种映射机制

synthetic.conf is intended to be used for creating mount points at / (e.g. for use as NFS mount points in
     enterprise deployments) and symbolic links (e.g. for creating a package manager root without modifying the
     system volume).  synthetic.conf is read by apfs.util(8) during early system boot.

synthetic.conf 的目的其实就是把目录挂载到我们的/下面,其实这个就是我们要。

读完之后我们可以了解到这个其实就是升级之后Mac提供给我们的官方做法。

于是乎我按照文档配置。

sudo vim /etc/synthetic.conf
添加一行记录(如果有两列需要使用 tab 进行分割,注意空格分割是无效的),然后重启即可
举例
bar System/Volumes/Data/bar
将会在根目录下创建 bar 软连接到根目录下的 System/Volumes/Data/bar 目录

重启之后我的目录是这个样子的:

......
lrwxr-xr-x   1 root  wheel    23  6 25 14:59 bar -> System/Volumes/Data/bar
......

这个是有效的~

后记

其实之前为了做恢复模式下面改配置折腾了好久,后面才看得这个配置,虽然最后比较简单,我觉得可以帮到一部分人,便记录下来了~~

目录
相关文章
|
13天前
|
人工智能 安全 Linux
|
1月前
|
Linux C语言 iOS开发
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
MacOS环境-手写操作系统-06-在mac下通过交叉编译:C语言结合汇编
18 0
|
3月前
Mac卸载 Node npm,升级 Node
Mac卸载 Node npm,升级 Node
64 0
|
5月前
|
Web App开发 网络安全 iOS开发
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
110 2
|
4月前
|
Python
Python的`signal`模块提供了访问底层操作系统提供的信号机制的方式。信号是操作系统用来通知进程发生了某种情况(如用户按下Ctrl+C)的一种机制。
Python的`signal`模块提供了访问底层操作系统提供的信号机制的方式。信号是操作系统用来通知进程发生了某种情况(如用户按下Ctrl+C)的一种机制。
|
5月前
|
Web App开发 网络安全 iOS开发
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
421 0
|
6月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
85 0
|
6月前
|
存储 定位技术 iOS开发
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
103 0
|
6月前
|
Unix Shell Linux
史上最全:MAC OS X 命令行汇总
史上最全:MAC OS X 命令行汇总
185 0
|
2月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错