让Catalina原生支持NTFS读写

Code 代码
3月 25, 2020 ~

除了商业软件,让Mac支持NTFS读写最简单的方式是安装Mounty,如果电脑里安装了brew,只需要执行:

brew cask install mounty

但有2大弊端:

  1. 性能惨不忍睹。笔记本SSD空间有限,照片都备份到外置硬盘,如果文件夹中照片较多,打开那叫一个慢,经常卡死;
  2. 使用不方便,原生finder和第三方图片应用无法直接打开,只能在通过mounty挂载后,通过指定的finder打开。

经过一番折腾,发现可以通过FUSEntfs-3g两个开源来实现catalina的NTFS读写。

安装基础包

FUSE传送门
ntfs-3g传送门

FUSE最新版是3.10.4,NTFS-3G最新版是2017.3.23_1。

推荐采用brew安装FUSEntfs-3g,两条命令搞定:

brew cask install osxfuse
brew install ntfs-3g

注意:安装的是osxfuse,否则会提示未安装fuse,而无法安装ntfs-3g

替换Catalina原生NTFS读命令

  1. 由于系统限制,需要先进入mac的恢复模式,关闭系统保护功能。重启mac,按住cmd+r,进入恢复模式(recovery mode)。

  2. 打开终端,执行以下命令,禁用SIP (System Integrity Protection)

    csrutil disable
    
  3. 然后再重启系统,正常进入系统。打开终端,执行以下命令:

    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目录的。

  4. 大功告成。如果担心系统安全问题,可以重复步骤1,通过下面的命令重新启动SIP (System Integrity Protection)。

    csrutil enable
    
让Catalina原生支持NTFS读写
除了商业软件,让Mac支持NTFS读写最简单的方式是安装Mounty,如果电脑里安装了brew,只需要执行: …

标签

Jerry

大道至简,行者无疆。