Skip to content

Repository files navigation

NTFSBridge

NTFSBridge 是面向 macOS 的原生 SwiftUI NTFS 读写管理应用,同时提供命令行工具。 运行架构:

  • NTFS-3G:开源 NTFS 读写引擎;
  • FUSE-T:通过 macOS 用户态 NFS 后端提供文件系统挂载;
  • NTFSBridge:负责磁盘识别、安全检查、重挂载和写入验证。

这套方案不使用 macFUSE/FSKit,不需要启用“文件系统扩展”,也不需要修改 SIP 或 Apple Silicon 启动安全策略。

下载安装

无需自行编译,Apple Silicon 用户可直接下载:

适用系统:macOS 13+ / Apple Silicon。首次打开如被 macOS 拦截,请在 Finder 中右键应用并选择「打开」。

当前能力

  • 自动识别外置 NTFS 分区;
  • 默认拒绝操作内置磁盘;
  • 将 macOS 原生只读挂载切换为 NTFS-3G 读写挂载;
  • 挂载失败时尝试恢复系统只读挂载;
  • 写入、读回、删除闭环测试;
  • 安全卸载;
  • 读写挂载后自动加入 Finder 左侧“收藏”并打开;
  • 首次启动自动下载、校验和安装 FUSE-T;
  • 默认使用 FUSE-T nfs 后端,也可选择 smb

构建

仓库已包含为 FUSE-T 构建的 NTFS-3G 引擎: vendor/fuset-ntfs3g/bin/ntfs-3g

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
  swift test --disable-sandbox
./scripts/build-release.sh

产物:

  • dist/NTFSBridge.app:图形界面,内含 NTFS-3G 引擎;
  • dist/ntfsbridge:命令行工具;
  • dist/Runtime/ntfs-3g:命令行工具使用的引擎。

安装运行组件

图形应用首次启动发现组件缺失时,会自动下载官方 FUSE-T 1.2.7 安装包、验证 SHA-256,再显示 macOS 管理员授权;不需要复制或执行终端命令。也可以手动运行:

./scripts/install-dependencies.sh

首次从下载、临时或构建目录启动时,应用会提示将自身安装到 /Applications/NTFSBridge.app 并重新打开。不要从将要卸载的外置磁盘或临时目录 长期运行应用,否则 macOS 在移除其可执行文件的底层卷时会强制终止进程。

使用

open dist/NTFSBridge.app

./dist/ntfsbridge doctor
./dist/ntfsbridge list
./dist/ntfsbridge mount /dev/disk4s1 --name EasyU
./dist/ntfsbridge test /Volumes/EasyU
./dist/ntfsbridge unmount /dev/disk4s1

图形应用会用系统管理员授权窗口执行挂载;命令行挂载会使用 sudo

数据保护

NTFSBridge 不格式化磁盘,不运行 ntfsfix,也不强制挂载处于 Windows 休眠或异常状态的卷。它会:

  1. 确认目标是 NTFS 分区;
  2. 默认拒绝内置磁盘;
  3. 仅在 /Volumes 下创建挂载点;
  4. 挂载后核验 FUSE-T 进程、挂载点和可写状态;
  5. 失败时尝试恢复 macOS 原生只读挂载。

许可证

NTFSBridge 源码采用 MIT 许可证。随应用分发的 NTFS-3G 引擎采用 GPL/LGPL, 许可证文本位于 vendor/fuset-ntfs3g/licenses。FUSE-T 作为独立系统运行时安装。 Finder 侧栏集成包含来自 mysides-swift 的 MIT 许可实现。作者:果比AI(guobi.ai)。

Releases

Packages

Contributors

Languages