根据你提供的GitHub页面,“ntfsmac”是一个在Apple Silicon Mac上读写NTFS(以及ext2/3/4)格式磁盘的实用工具。它的核心创新在于采用了一种独特的“虚拟机+NFS挂载”方案,从而避开了传统方案需要修改系统内核扩展(kext)或关闭系统完整性保护(SIP)的麻烦。

🎯 项目核心原理与优势

与常见的付费驱动或内核扩展方案不同,ntfsmac的工作流程是:

  1. 在后台启动一个轻量级的Linux虚拟机(基于libkrun)。
  2. 在虚拟机内,使用成熟的ntfs-3g驱动来读写NTFS分区。
  3. 然后,将这个分区通过macOS自带的NFS(网络文件系统)协议,挂载到你的Mac上。

这种方式的主要优点是安全性高、系统改动小,因为:

  • 无需修改系统核心:不需要加载内核扩展(kext),也不用关闭SIP(系统完整性保护),对系统安全影响极小。
  • 一次配置,长期使用:首次运行时会下载一个固定的Alpine Linux镜像,之后可以离线使用。
  • 支持多种文件系统:除了NTFS,还支持Linux常用的ext2、ext3、ext4格式。

🛠️ 如何安装与使用

项目提供了命令行(CLI)和图形界面(GUI)两种使用方式。

1. 命令行工具(CLI)安装

通过Homebrew Tap安装,这是主要方式:

1
2
3
brew tap khr898/ntfsmac
brew install ntfsmac
ntfsmac diagnose # 安装后建议运行诊断,检查环境

2. 基本使用命令

  • 挂载分区ntfsmac mount <磁盘分区标识>,例如 ntfsmac mount disk4s1(注意是分区,如s1,不是整个磁盘disk4)。
  • 卸载分区ntfsmac unmount <磁盘分区标识>
  • 健康诊断ntfsmac diagnose(排查问题的首选命令)。

3. 图形界面(GUI)

可以从项目的Releases页面下载独立的.dmg安装包。它是一个菜单栏应用(无Dock图标),通过图标颜色显示状态(灰色-空闲,蓝色-挂载中,绿色-已读写挂载,黄色-只读挂载,红色-错误)。

⚠️ 重要使用须知与限制

在使用前,有几个关键点需要特别注意:

  • 系统要求仅支持Apple Silicon(M系列芯片)的Mac,且需要macOS 13.0或更高版本。
  • 挂载的是分区,不是整个磁盘:命令必须指定分区(如disk4s1)。如果磁盘没有分区表(如直接格式化的整个磁盘),macOS不会生成分区节点,工具将无法识别。这种情况需要在Linux下重新分区。
  • 首次挂载需联网:第一次挂载会自动下载约50-150MB的Alpine Linux镜像,请耐心等待,后续使用离线即可。
  • 权限问题
    • 如果使用GUI,需要授予**“全磁盘访问”**权限。
    • 如果使用CLI并在终端中进行写入操作,也需要为“终端”(Terminal)应用授予“全磁盘访问”权限,否则会报“Operation not permitted”错误。通过Finder访问则不需要此权限。
  • 许可证:本项目采用 PolyForm Noncommercial License,即允许个人非商业免费使用,但商业用途需另行授权。

💎 总结

ntfsmac 为Apple Silicon Mac用户提供了一种创新、相对安全且免费的NTFS读写解决方案,特别适合需要偶尔在Mac和Windows/Linux系统间交换数据的个人用户。它的“虚拟机+NFS”方案技术上有趣且实用,但使用时需要留意分区标识、首次联网和系统权限等细节。

如果你在Mac上遇到了NTFS磁盘无法写入的问题,并希望找到一个不修改系统内核的方案,这个工具值得一试。如果在安装或使用中遇到具体错误,可以参考项目README中详细的“故障排查”部分,或运行 ntfsmac diagnose 进行诊断。

项目地址:https://github.com/khr898/ntfsmac