快速开始
1. 构建
环境:macOS 12+、Xcode Command Line Tools、Go 1.27.3 或更新。
go tool mygo doctor
make lang
make check
CGO_ENABLED=0 go tool mygo build -platform darwin/arm64应用包输出到 build/darwin-arm64/NTFS Kit.app。需要热重载开发时运行:
go tool mygo dev始终使用 CGO_ENABLED=0。项目没有 cgo 或 SQLite 依赖。
2. 启动并授予权限
首次启动时,macOS 会请求访问可移除卷。应用在 Info.plist 中声明了 NSRemovableVolumesUsageDescription。没有该权限时,diskutil 可能仍能列出部分设备,但挂载可能失败。
- 设置:
~/Library/Application Support/NTFS Kit/settings.json - 日志:
~/Library/Logs/NTFS Kit/
如果应用打开了但看不到外置卷,请检查权限弹窗、重新连接磁盘,然后点击 重新扫描。
3. 完成一次安全的首次挂载
- 打开 磁盘概览,确认目标卷出现在列表中。
- 在 磁盘与卷 中选择它,读取设备节点、UUID 与挂载点。
- 选择 Apple 原生 · 只读。
- 点击 挂载。只有从
diskutil读回状态后,界面才会改变。 - 在访达中确认卷可读,然后从应用卸载,再断开磁盘。
这条路径是非破坏性的,不需要额外驱动。
4. 安装写入支持(可选)
读写、NTFS 修复与 NTFS 格式化需要 macFUSE 与 NTFS-3G。打开 挂载与驱动 → 安装写入支持,确认前先读边界:
- macFUSE 只从官方 DMG 下载,校验发行版 SHA-256 与 Developer ID 后,通过 macOS 授权安装。
- NTFS-3G 通过 Homebrew 安装,使用官方源或你为本次安装选择的镜像。
- Homebrew 本身不会自动安装。
安装后,在 系统设置 → 隐私与安全性 批准 macFUSE 系统扩展;macOS 要求时重启。然后回到应用,确认两个驱动都被检测到。
5. 常见问题
| 现象 | 检查 |
|---|---|
| 看不到任何卷 | 可移除卷权限、线缆、磁盘供电,然后 重新扫描 |
| 只读挂载失败 | 卷是否已在别处挂载;访达或其他应用可能占用 |
| 写挂载被拒绝 | macFUSE 未加载或缺少 NTFS-3G;应用会在卸载前停止 |
| 写挂载结果是只读 | 应用会按失败上报;先检查驱动状态与日志再重试 |
| 修复按钮不可用 | 先卸载卷;修复不会在已挂载卷上执行 |
| 格式化被阻止 | 源必须是外置 NTFS 卷,输入的卷名必须完全一致 |