macOS Big Sur 读写NTFS分区
引言
之前使用macOS Catalina
的时候,使用冰水的教程macOS读写NTFS,及EXT分区格式化和挂载,但是今天更新了macOS Big Sur
,冰水的方法就需要删除快照才能使用了,在这里,予雨介绍一种不需要删除快照就能使用FUSE
挂在NTFS分区的方法。
- 在食用本教程之前,请注意备份好数据
- 不管是用什么方式挂载 NTFS 分区,都不建议挂载 win 的系统盘,有翻车嫌疑,所以当 ntfs-3g 发现你挂载的分区有 win 休眠和快速启动遗留的缓存时,会以只读模式挂载,如果实在需要修改 win 系统分区,需要在 win 里关闭快速启动
题外话
毛主席说过:“实践是检验真理的唯一标准”.
没有尝试请不要说"貌似不可以".
挂载系统分区
解锁SIP
白苹果用户进入恢复模式,在终端输入csrutil disable
黑苹果用户参考一下步骤(仅适用于OC):
修改config.plist
-NVRAM
-Add
-7C436110-AB2A-4BBB-A880-FE41995C9F82
-csr-active-config
为FF0F0000
增加config.plist
-NVRAM
-Block
-7C436110-AB2A-4BBB-A880-FE41995C9F82
-csr-active-config
完成后重启
挂载系统分区到目录
1 | mkdir ~/livemount |
使用diskutil list
查找自己的系统分区,比如,我的系统分区为disk2s2
1 | sudo mount -o nobrowse -t apfs /dev/disk2s2 ~/livemount |
安装osxfuse
FUSE for OS X
是用在macOS上的第三方系统扩展,地址:https://github.com/osxfuse/osxfuse/wiki
使用Homebrew
安装
1 | brew cask install osxfuse |
安装ntfs-3g
1 | brew install ntfs-3g |
挂载NTFS分区
手动挂载
使用diskutil list
查看分区,比如我的U盘是disk4s1
那么可以使用一下命令挂载
1 | mkdir ~/Desktop/UDisk |
这样U盘就挂载到桌面了
卸载这个分区的命令是sudo unmount /dev/disk4s1
自动挂载
我们知道,macOS
开机时会自动挂载 NTFS
分区,但是只能读取
安装 ntfs-3g
后,我们需要让新的 mount_ntfs
替换系统自带的版本,实现写入
为了减少对系统的影响,我们把旧版本备份,并把新版本软链接过去
1 | sudo mv ~/livemount/sbin/mount_ntfs ~/livemount/sbin/mount_ntfs.bak |
需要注意的是,每次升级或者重装系统后,都要重新做软链接
(可选)如修改S/L/E下的驱动,则需要重建缓存
1 | sudo chown -R root:wheel ~/livemount/System/Library/Extensions/ |
创建新的快照
1 | sudo bless --folder ~/livemount/System/Library/CoreServices --bootefi --create-snapshot |
完成后重启即可
参考链接
https://zhih.me/macos-mount-ntfs-ext/
http://bbs.pcbeta.com/viewthread-1873750-1-3.html