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

这个是有效的~

后记

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

目录
相关文章
|
3月前
|
Web App开发 网络安全 iOS开发
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
76 2
|
2月前
|
Python
Python的`signal`模块提供了访问底层操作系统提供的信号机制的方式。信号是操作系统用来通知进程发生了某种情况(如用户按下Ctrl+C)的一种机制。
Python的`signal`模块提供了访问底层操作系统提供的信号机制的方式。信号是操作系统用来通知进程发生了某种情况(如用户按下Ctrl+C)的一种机制。
|
3月前
|
Web App开发 网络安全 iOS开发
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
一篇文章讲明白Mac活动监视器闪退pro发热耗电过快问题解决,亲测可用解决
318 0
|
4月前
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
186 1
|
4月前
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
259 1
|
4月前
|
前端开发 Java 应用服务中间件
在虚拟机的Windows操作系统中:通过Jar方式若依项目,以及在外部的访问!
在虚拟机的Windows操作系统中:通过Jar方式若依项目,以及在外部的访问!
|
4月前
|
关系型数据库 MySQL iOS开发
macOS Catalina(10.15)如何访问iPhone(Ipad)的应用文档文件
macOS Catalina(10.15)如何访问iPhone(Ipad)的应用文档文件
115 0
|
4月前
|
存储 定位技术 iOS开发
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
XCode8升级到Xcode9(操作系统为iOS11)后原来的工程中遇到的问题
60 0
|
4月前
|
Unix Shell Linux
史上最全:MAC OS X 命令行汇总
史上最全:MAC OS X 命令行汇总
169 0
|
4月前
|
IDE 5G 开发工具
HP4230s笔记本安装mac os总结(原创)
HP4230s笔记本安装mac os总结(原创)
104 0