Repository navigation
Releases
Releases · msln1995/OpenNTFS
OpenNTFS v0.1.6
OpenNTFS v0.1.6
新功能
- 写入模式新增“恢复只读”:停止 anylinuxfs microVM 写入,并用
diskutil把磁盘重新挂载回 macOS,桌面图标恢复;未挂载的外置 NTFS 卷也可以直接“挂载为只读”。 - “安全推出”现在需要确认,并明确提示会移除整盘、桌面图标会消失;启用写入时按钮改为“安全推出(拔盘)”。
- 恢复失败会显示具体原因;
anylinuxfs status无法读取时直接取消恢复,不会误推出磁盘。
修复
- 修复退出写入模式后桌面没有 U 盘图标的问题:此前“退出写入”会直接整盘推出,现在拆分为“恢复只读”和“安全推出(拔盘)”两个明确动作。
安全约束
- 不自动操作内部磁盘;不启用
-o force;不绕过 NTFS 一致性检查。 - 恢复只读先确认 anylinuxfs 状态,再执行卸载;失败不会强制推出。
管理员授权
- 仍使用密码 askpass,密码只交给
sudo,不写入日志或本地存储。 - macOS 自带的 Touch ID sudo 仅覆盖终端,从 Finder 启动的应用无法可靠调起指纹提示;GUI 免密码提权需要 Developer ID 签名的特权 helper,本项目 ad-hoc 构建不具备该条件。README 已写明。
验证
- 20 项 XCTest 全部通过,自检 50 项通过。
- 真实 NTFS U 盘:写入模式拷贝 13.46 GB 后点击“恢复只读”,磁盘以只读方式重新出现在 macOS,写入探测返回
Read-only file system。 - 临时 NTFS 镜像回归:恢复只读挂载点解析、幂等恢复、anylinuxfs 状态不可读时取消。
- Release 应用为
x86_64 arm64通用架构、ad-hoc 签名;DMG 内应用签名校验通过。
兼容性
- 要求 macOS 15.4 或更新。
- 官方支持 Apple Silicon;写入依赖的
anylinuxfs0.18.0 仅提供 arm64 版本。应用包含 x86_64 切片,但 Intel 配置未实机验证。 - 当前安装包使用 ad-hoc 签名,未经 Apple 公证。若 Gatekeeper 阻止启动,请右键应用选择“打开”,或仅对官方下载的副本执行
xattr -dr com.apple.quarantine /Applications/OpenNTFS.app。
已知限制
- 脏 NTFS 一键修复仍只在临时镜像上验证,真实 U 盘的“脏卷 → 修复 → 可写”完整流程尚未整机回归。
- 恢复只读在单块真实 NTFS U 盘上完成验证;不同设备、桥接芯片和驱动器的行为可能不同。
- 写入性能受 USB 接口与 anylinuxfs microVM/NFS 路径影响。
SHA-256: bad90d6dcf18f251bc7e250bed7dec7ec1b9b6f86aabc39d09363118dfb975aa
OpenNTFS v0.1.5
OpenNTFS v0.1.5
新功能
- 脏 NTFS 卷一键修复:写入挂载因 NTFS 脏标记失败时,应用会读取
anylinuxfs内核日志并显示“需要修复”,提供“一键修复并启用写入”。用户确认后,应用自动调用anylinuxfs自带的ntfsfix清除标记、校验卷标志位,并重新挂载为可写,全程不需要终端。 - 修复前读取
hiberfil.sys头:检测到 Windows 休眠或快速启动占用时直接停止,不修改磁盘。 - 界面增加中文原因说明、修复进度、失败后的下一步指引,以及可展开的“技术细节”原始日志。
安全约束
- 不使用
-o force,不绕过 NTFS 一致性检查。 - 修复成功必须同时满足:命令退出码为 0,且
Volume Flags的 dirty 位已清除;无法读取标志位也按失败处理。 - 修复前先卸载 macOS 只读挂载;修复失败会尝试恢复只读挂载。
- 仅处理外置卷,不自动操作内部磁盘。
验证
- 16 项 XCTest 全部通过,自检 48 项通过。
- 临时 NTFS 镜像回归:脏标志
0x0001 → 0x0000;模拟休眠镜像被正确拒绝。 - Release 应用为
x86_64 arm64通用架构、ad-hoc 签名,DMG 校验通过,并已覆盖安装启动。
兼容性
- 要求 macOS 15.4 或更新。
- 官方支持 Apple Silicon;写入依赖的
anylinuxfs0.18.0 仅提供 arm64 版本。应用包内含 x86_64 切片,但 Intel 配置未实机验证。 - 当前安装包使用 ad-hoc 签名,未经 Apple 公证。若 Gatekeeper 阻止启动,请右键应用选择“打开”,或仅对官方下载的副本执行
xattr -dr com.apple.quarantine /Applications/OpenNTFS.app。
已知限制
- 一键修复清除的是 NTFS 脏标记,不等同于 Windows 的
chkdsk /f。如果文件系统仍有错误,Windows 可能仍会要求扫描。 - 真实 U 盘的脏标记流程尚未完成整机回归,建议先在备份后的非关键设备上验证。
- 如果磁盘处于 Windows 休眠状态,请回到 Windows 正常关机,不要绕过该限制。
SHA-256: 99cdb10c94e1b2e46b6315eab1c9370ea461bf837873cda2c133eae986aef409
OpenNTFS v0.1.4
OpenNTFS v0.1.4
修复
- 修复点击“启用写入”后出现
mount with no disk isn't valid unless a custom action with NFS export override is specified的问题。anylinuxfs的-n接受多个值,原参数顺序把磁盘路径和挂载点当成了 NFS 选项;现在用--明确结束选项解析。 - 新增参数布局回归测试,防止可变参数再次吞掉磁盘和挂载点。
兼容性
- 要求 macOS 15.4 或更新。
- 官方支持 Apple Silicon;写入依赖的
anylinuxfs0.18.0 仅提供 arm64 版本。应用包内含 x86_64 切片,但 Intel 配置未实机验证。 - 当前安装包使用 ad-hoc 签名,未经 Apple 公证。若 Gatekeeper 阻止启动,请右键应用选择“打开”,或仅对官方下载的副本执行
xattr -dr com.apple.quarantine /Applications/OpenNTFS.app。 - 发布流程已验证构建、11 项 XCTest、35 项自检、参数解析、签名、DMG 校验和应用启动。真实 NTFS 写入仍需在备份后的测试盘上验证。
SHA-256: ea9fc0f837050317b5ebfd765d5202ef2e582a531c0fc0926195121d9d862a6a
OpenNTFS v0.1.3
OpenNTFS v0.1.3
修复
- 修复命令输出超过管道缓冲区时的死锁:现在并发排空 stdout 和 stderr,
anylinuxfs或授权命令产生大量输出时不再卡住应用。 - 安全推出在无法读取
anylinuxfs status时直接中止,不再在 microVM 状态未知的情况下冒险推出整盘。 - 新增两个 XCTest 回归测试:大输出死锁和状态读取失败时取消推出。
兼容性
- 要求 macOS 15.4 或更新。
- 官方支持 Apple Silicon;写入依赖的
anylinuxfs0.18.0 仅提供 arm64 版本。应用包内含 x86_64 切片,但 Intel 配置未实机验证。 - 当前安装包使用 ad-hoc 签名,未经 Apple 公证。若 Gatekeeper 阻止启动,请右键应用选择“打开”,或仅对官方下载的副本执行
xattr -dr com.apple.quarantine /Applications/OpenNTFS.app。 - 发布流程已验证构建、11 项 XCTest、34 项自检、签名、DMG 校验和应用启动。本轮没有连接真实 NTFS 设备,真实写入和推出仍需在备份后的测试盘上验证。
SHA-256: 996d250d62b1e04320877c5c0833fd355dbf0089e88293ccec5f5f1d7c43f580
OpenNTFS v0.1.2
OpenNTFS v0.1.2
修复
- 安全推出会先通过
anylinuxfs unmount --wait-for-vm停止 microVM,再严格解析整盘标识并执行推出;任一步失败都会中止。 - 移除
-o force,Windows 休眠、快速启动或脏 NTFS 卷会保持拒绝写入。 - 移除无效的 NFS 客户端
async与locallocks参数;保留服务端异步导出和 1MB 读写块。 - 推荐引擎只选择真正实现写入路径的 microVM 后端,不再把仅有检测能力的 FSKit/FUSE-T 标为可写。
- 修正磁盘扫描:按分区读取
OSInternal,使用volumeIsReadOnly判断只读状态,空白卷标回退到设备标识。 - 安全推出按钮支持只读卷;授权失败和磁盘访问错误提示更准确。
- 新增 9 个 XCTest 回归测试和 34 项自检。
兼容性
- 要求 macOS 15.4 或更新。
- 官方支持 Apple Silicon;写入依赖的
anylinuxfs0.18.0 仅提供 arm64 版本。应用包内含 x86_64 切片,但 Intel 配置未实机验证。 - 当前安装包使用 ad-hoc 签名,未经 Apple 公证。若 Gatekeeper 阻止启动,请右键应用选择“打开”,或仅对官方下载的副本执行
xattr -dr com.apple.quarantine /Applications/OpenNTFS.app。 - 发布流程已验证构建、单元测试、自检、签名、DMG 校验和应用启动。本轮没有连接真实 NTFS 设备,真实写入和推出仍需在备份后的测试盘上验证。
SHA-256: b0b6297bd21a246493d7450e934ec293d001494b67ea353eb889ee8f4e3864a6
OpenNTFS v0.1.1
OpenNTFS v0.1.1
修复
- 增加“安全推出”按钮。
- 先卸载实际 NFS 挂载点,再对整块磁盘执行
diskutil eject。 - 避免 Finder 将已失效的
disk26s1.local网络位置当作普通服务器打开。
SHA-256: bb3ee3c98168ee641674f36af0a918e7ec962aa7c4a7ce7b0c7a01b30153a63f
OpenNTFS v0.1.0
OpenNTFS v0.1.0
首个公开实验版本,面向 Apple Silicon macOS。
包含内容
- SwiftUI 应用和菜单栏入口
- 基于 anylinuxfs microVM 的免恢复模式 NTFS 写入路径
- Full Disk Access 检测与管理员授权
- 失败回滚和状态核验
- 中文 NTFS 卷标的 ASCII NFS 导出兼容处理
安全提醒
这是实验性软件。使用前请备份重要数据,先在非关键 U 盘上验证。FSKit 扩展目前仍是骨架,DMG 依赖用户自行安装 anylinuxfs。
SHA-256: c85c2314f0855c07bd782dd7a57675029291741a83bbf94ff0051a334874dd67