Skip to content

Releases

OpenNTFS v0.1.6

Choose a tag to compare

@msln1995 msln1995 released this 20 Oct 08:31

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;写入依赖的 anylinuxfs 0.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

Choose a tag to compare

@msln1995 msln1995 released this 20 Oct 07:25

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;写入依赖的 anylinuxfs 0.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

Choose a tag to compare

@msln1995 msln1995 released this 20 Oct 07:03

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;写入依赖的 anylinuxfs 0.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

Choose a tag to compare

@msln1995 msln1995 released this 20 Oct 06:56

OpenNTFS v0.1.3

修复

  • 修复命令输出超过管道缓冲区时的死锁:现在并发排空 stdout 和 stderr,anylinuxfs 或授权命令产生大量输出时不再卡住应用。
  • 安全推出在无法读取 anylinuxfs status 时直接中止,不再在 microVM 状态未知的情况下冒险推出整盘。
  • 新增两个 XCTest 回归测试:大输出死锁和状态读取失败时取消推出。

兼容性

  • 要求 macOS 15.4 或更新。
  • 官方支持 Apple Silicon;写入依赖的 anylinuxfs 0.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

Choose a tag to compare

@msln1995 msln1995 released this 20 Oct 06:50

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;写入依赖的 anylinuxfs 0.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

Choose a tag to compare

@msln1995 msln1995 released this 19 Jul 11:30

OpenNTFS v0.1.1

修复

  • 增加“安全推出”按钮。
  • 先卸载实际 NFS 挂载点,再对整块磁盘执行 diskutil eject。
  • 避免 Finder 将已失效的 disk26s1.local 网络位置当作普通服务器打开。

SHA-256: bb3ee3c98168ee641674f36af0a918e7ec962aa7c4a7ce7b0c7a01b30153a63f

OpenNTFS v0.1.0

Choose a tag to compare

@msln1995 msln1995 released this 19 Jul 11:12

OpenNTFS v0.1.0

首个公开实验版本,面向 Apple Silicon macOS。

包含内容

  • SwiftUI 应用和菜单栏入口
  • 基于 anylinuxfs microVM 的免恢复模式 NTFS 写入路径
  • Full Disk Access 检测与管理员授权
  • 失败回滚和状态核验
  • 中文 NTFS 卷标的 ASCII NFS 导出兼容处理

安全提醒

这是实验性软件。使用前请备份重要数据,先在非关键 U 盘上验证。FSKit 扩展目前仍是骨架,DMG 依赖用户自行安装 anylinuxfs。

SHA-256: c85c2314f0855c07bd782dd7a57675029291741a83bbf94ff0051a334874dd67