Mac 上 NTFS 转 exFAT 不丢数据:安全迁移完整教程

在 Mac 上无法把 NTFS 原地转换成 exFAT,任何工具都做不到,只能把整盘数据重写一遍。唯一安全的做法是:备份所有文件、校验备份、把磁盘格式化为 exFAT、把文件拷回、再校验一次。本文用 macOS 自带工具带你完成整个流程。

格式化会清空整块磁盘。没有把所有要保留的文件备份到另一块磁盘并校验通过之前,不要开始。

为什么没有“原地转换”

NTFS 与 exFAT 的文件表和空间分配结构完全不同。Windows 能把 FAT32 原地转成 NTFS,但 macOS 上不存在 NTFS 转 exFAT 的同类功能。任何声称能做到的工具,实际上都要搬动或重写每一个文件,中途断电或遇到坏块,可能连唯一的一份数据都毁掉。所以先做完整备份不是可选项,而是前提。

开始之前

方法一:磁盘工具(无需命令行)

请在文件已拷到备份位置并通过校验之后再执行(见下方“备份与校验”)。

  1. 打开“磁盘工具”(应用程序 > 实用工具),在“显示”菜单里选择“显示所有设备”。
  2. 在侧边栏选中物理磁盘本身(最上层、带厂商名称的那一项),而不只是下面的 NTFS 卷。
  3. 点击“抹掉”。填写名称,“格式”选 ExFAT,“方案”选“GUID 分区图”。只有旧相机、电视或车载音响明确要求时,才选“主引导记录”。
  4. 再次确认选中的设备没错,点击“抹掉”,等待完成。
  5. 完成后磁盘会以 exFAT 卷的形式出现。把备份里的文件拷回,再做一次校验。

方法二:终端 diskutil 命令

先列出外置磁盘,仔细确认磁盘标识符(例如 /dev/disk4),再执行抹掉。把 MYDRIVE 换成你想要的卷名,把 disk4 换成你自己的标识符。

# 查看外置磁盘的标识符(对照容量和名称)
diskutil list external

# 会抹掉整块磁盘:格式化为 exFAT,GUID 分区图
diskutil eraseDisk ExFAT MYDRIVE GPT /dev/disk4

diskutil eraseDisk 会销毁你指定磁盘上的所有数据。如果选错了标识符,比如选到内置硬盘,无法撤销。请把 diskutil list external 的输出核对两遍。

备份与校验(千万不要跳过)

第 1 步:把文件拷到备份位置。下面的 rsync 命令递归拷贝、保留修改时间,并跳过 Windows 系统文件夹。注意路径末尾的斜杠。

rsync -rtv --progress \
  --exclude='System Volume Information' --exclude='$RECYCLE.BIN' \
  /Volumes/OLDDRIVE/ /Volumes/BACKUP/OLDDRIVE-backup/

第 2 步:对比原盘与备份的文件数和总大小,两者应一致(被跳过的系统文件夹除外)。

find /Volumes/OLDDRIVE -type f | wc -l
du -sk /Volumes/OLDDRIVE

第 3 步:逐字节校验。带 -c 的试运行会比较真实校验和,只列出不一致或缺失的文件。文件列表之外没有任何输出,就说明备份一致。

rsync -rcn --delete -v \
  --exclude='System Volume Information' --exclude='$RECYCLE.BIN' \
  /Volumes/OLDDRIVE/ /Volumes/BACKUP/OLDDRIVE-backup/

可选,更严格且可复用:现在先记录备份的 SHA-256 校验值,之后用同一个文件验证恢复到 exFAT 盘上的副本。凡是不是 OK 的行都会被打印出来。

cd /Volumes/BACKUP/OLDDRIVE-backup
find . -type f -print0 | xargs -0 shasum -a 256 > ~/olddrive.sha256
# 拷回新的 exFAT 卷之后,对照之前保存的校验值再验证
cd /Volumes/MYDRIVE
shasum -a 256 -c ~/olddrive.sha256 | grep -v ': OK$'

只有所有校验都通过,才继续进入抹掉步骤。恢复后的副本也校验通过之前,请一直保留备份。

把文件拷回

磁盘抹掉并以 exFAT 挂载后,把所有内容拷回,然后正确推出。exFAT 没有日志,拔盘前一定要先推出。

rsync -rtv --progress \
  /Volumes/BACKUP/OLDDRIVE-backup/ /Volumes/MYDRIVE/
diskutil eject /dev/disk4

然后对新磁盘再运行上一节的校验。确认全部一致之后才可以删除备份。

什么时候不该转换

exFAT、APFS、FAT32、NTFS 对比

文件系统MacWindows单文件上限断电安全适合场景
exFAT可读写可读写无实际限制无日志Mac 与 Windows 共用的外置盘
APFS可读写原生不支持(需第三方驱动)无实际限制有(写时复制)仅 Mac 使用的磁盘,尤其是 SSD、时间机器
FAT32可读写可读写4 GB无日志老相机、电视、车载音响、小容量盘
NTFS只读(写入需要驱动)可读写无实际限制有(日志式)主要在 Windows 上使用的磁盘

exFAT 还不支持硬链接、符号链接、Unix 权限和 ACL,macOS 会用隐藏的“._”文件为它保存额外的元数据。

exFAT 的真实风险

自动化:NTFS2exFAT

NTFS2exFAT

NTFS2exFAT 是一个体积小巧的 Mac 原生应用,把上面的手动流程自动化,并在每一步加了保护:

  • 预检:统计文件数、总大小,并标出 exFAT 无法存储的文件名。预检免费。
  • 备份你的文件,并对每个文件做 SHA-256 校验。
  • 只有全部文件校验通过,才会出现“格式化”入口。
  • 格式化前必须手动输入卷名确认。
  • 拷回之后会再次校验全部文件。
  • 可以中断并续传,结束时生成报告。
  • 原生 macOS 应用,只有几 MB;核心引擎在 GitHub 开源。

限制

  • 仍然需要足够的备份空间来存放盘上的全部数据。
  • 不处理 BitLocker 盘和系统盘。
  • 需要 macOS 13 或更高版本。

你完全不需要这个应用:本页的所有步骤都可以用 macOS 自带的工具完成。

如果你只是想在 Mac 上读写 NTFS 盘而不想重新格式化,请看 NTFSTool.

常见问题

能不能不格式化,直接把 NTFS 转成 exFAT?

不能。NTFS 与 exFAT 的磁盘结构不同,macOS 没有任何工具能原地把一种转成另一种。安全的路线是备份、格式化、拷回。所谓“免格式化”的说法,也要把每个文件重写一遍,没有备份的话风险是一样的。

从 NTFS 换成 exFAT 会丢文件权限吗?

exFAT 不保存 Unix 权限、所有者、ACL、符号链接和硬链接,NTFS 的备用数据流和 EFS 加密文件也不会带过去(EFS 文件请先在 Windows 中解密)。文件内容、文件名和修改时间会保留。在 Mac 上,NTFS 卷本来就没有真正的 Unix 权限,所以大多数人感觉不到差别。

2 TB 的盘要多久?

取决于磁盘和接口。仅作举例:装满的 2 TB 盘按 120 MB/s 计算,走一遍约 4.6 小时,而整个流程有四遍(备份、校验备份、拷回、校验恢复),所以要预留一天。USB 3 上的 SSD 比机械硬盘快得多。不要拿一个小文件夹的测试来估算。

中途断电或者拔了线怎么办?

备份或校验阶段,原盘没有被改动,重新开始即可。抹掉阶段,磁盘可能在重新抹掉之前无法使用,但你已校验过的备份是完好的。拷回阶段,重新抹掉并从备份再恢复一次。这也是为什么抹掉之前必须先校验备份,并且要保留到恢复后的副本也校验通过。

损坏的 exFAT 盘能修复吗?

有时可以。磁盘工具的“急救”会运行 macOS 的 fsck_exfat,可以清除脏标记、修复部分元数据问题,但能力有限。对 exFAT 来说,Windows 的 chkdsk X: /f 通常更彻底。如果数据重要,修复前先把能读出来的文件拷到别的磁盘(或做磁盘镜像),文件缺失时再用数据恢复工具。

转换后 Windows 能直接读吗?

能。Windows 7 及更高版本原生支持读写 exFAT。Linux 内核从 5.7 起原生支持,旧内核使用 exfat-fuse。一些很老的电视、相机和车载音响只认 FAT32,请查阅设备说明。

exFAT 盘能用来做时间机器备份或 Mac 启动盘吗?

不能。时间机器需要 APFS 或 Mac OS 扩展(或网络共享),macOS 也不能从 exFAT 启动。如果这块盘只在 Mac 上用,请直接格式化为 APFS。

BitLocker 加密盘或 Windows 系统盘可以这样转吗?

不可以。BitLocker 盘必须先在 Windows 里解密;抹掉 Windows 系统盘、启动盘或 Boot Camp 分区会毁掉那套 Windows。请改为备份后重装。

NTFS 和 Windows 是微软公司的商标。Mac、macOS 和“时间机器”是苹果公司的商标。NTFS2exFAT 是独立工具,与微软、苹果没有关联,也未获其赞助或认可。