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
......

这个是有效的~

后记

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

目录
相关文章
|
1月前
电子好书法您分享《2024龙蜥操作系统大会主论坛-云智融合·产业升级》
`2024龙蜥操作系统大会聚焦云智融合与产业升级,主论坛展示OS技术创新与行业应用。大会通过图像化形式呈现,详尽内容可参阅电子资料:[链接](https://developer.aliyun.com/ebook/8311/116327?spm=a2c6h.26392459.ebook-detail.4.64886da1rVntWK)`
23 2
|
1月前
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
38 1
|
1月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
25 0
|
1月前
|
关系型数据库 MySQL iOS开发
macOS Catalina(10.15)如何访问iPhone(Ipad)的应用文档文件
macOS Catalina(10.15)如何访问iPhone(Ipad)的应用文档文件
22 0
|
1月前
|
存储 定位技术 iOS开发
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
22 0
|
1月前
|
Unix Shell Linux
史上最全:MAC OS X 命令行汇总
史上最全:MAC OS X 命令行汇总
31 0
|
16天前
|
应用服务中间件 开发工具 nginx
Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端
Mac M1/M2/M3 芯片环境配置以及常用软件安装-前端 最近换了台新 Mac,所有的配置和软件就重新安装下,顺便写个文章。
49 1
|
18天前
|
应用服务中间件 Shell nginx
mac m1笔记本docker 安装nginx
mac m1笔记本docker 安装nginx
|
2天前
|
存储 Java API
Mac安装jadx并配置环境
Mac安装jadx并配置环境
11 0
|
9天前
|
Java Maven
【已解决】MAC安装maven,The JAVA_HOME environment variable is not defined correctly, this environment
【已解决】MAC安装maven,The JAVA_HOME environment variable is not defined correctly, this environment
22 0