让Catalina原生支持NTFS读写
除了商业软件,让Mac支持NTFS读写最简单的方式是安装Mounty
,如果电脑里安装了brew
,只需要执行:
brew cask install mounty
但有2大弊端:
- 性能惨不忍睹。笔记本SSD空间有限,照片都备份到外置硬盘,如果文件夹中照片较多,打开那叫一个慢,经常卡死;
- 使用不方便,原生
finder
和第三方图片应用无法直接打开,只能在通过mounty
挂载后,通过指定的finder
打开。
经过一番折腾,发现可以通过FUSE
和ntfs-3g
两个开源来实现catalina的NTFS读写。
安装基础包
FUSE最新版是3.10.4,NTFS-3G最新版是2017.3.23_1。
推荐采用brew
安装FUSE
和ntfs-3g
,两条命令搞定:
brew cask install osxfuse
brew install ntfs-3g
注意:安装的是osxfuse
,否则会提示未安装fuse,而无法安装ntfs-3g
。
替换原生NTFS读命令
- 由于系统限制,需要先进入mac的恢复模式,关闭系统保护功能。重启mac,按住
cmd
+r
,进入恢复模式(recovery mode)。
打开终端,执行以下命令,禁用SIP (System Integrity Protection)
csrutil disable
然后再重启系统,正常进入系统。打开终端,执行以下命令:
sudo mount -uw /
killall Finder
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.bak
sudo ln -s /usr/local/Cellar/ntfs-3g/2017.3.23_1/sbin/mount_ntfs /sbin/mount_ntfs
其中最后一条命令中2017.3.23_1
与安装的ntfs-3g
版本有关,请先确认正确路径。 如果要恢复也很容易,把/sbin/mount_ntfs.bak
恢复即可。
要注意的是,不要在恢复模式(recovery mode)下执行上述命令,恢复模式下是找不到/usr/local
目录的。
大功告成。如果担心系统安全问题,可以重复步骤1,通过下面的命令重新启动SIP (System Integrity Protection)。
csrutil enable