前言
在 Mac 上使用移动硬盘时,我们会发现,每一个文件都会自动生成一个以 ._
开头的隐藏文件(特别是在使用 FAT32、exFAT、NTFS 等非苹果原生文件系统时)。这些文件是 macOS 为了保存文件的元数据(如 Finder 标签、颜色、权限信息等)而额外生成的。
然而,如果你在这些磁盘上运行一些 Windows 程序、游戏或工具,这些 ._xxx
文件可能会被误识别为有效数据,导致无法加载、运行异常,甚至报错。
在 macOS 中,.
开头的文件为隐藏文件。可以使用 Command + Shift + .
显示/隐藏隐藏文件。
但 ._
文件属于 AppleDouble 格式,即使开启显示也可能看不见。你需要用终端 ls -la
才能看到它们的存在。
解决方案
截至2025 年 7 月 16 日,Apple 官方没有提供任何关闭或禁用 .DS_Store
和 ._xxx
文件写入外部磁盘的选项。因为这些文件是系统功能依赖的一部分,所以在可预见的未来,这个机制也不会改变。
因此,唯一真正有效的解决方案是:
✅ 将移动硬盘的文件系统修改为 macOS 原生的 APFS 或 HFS+,彻底杜绝 ._
文件的生成。
更改为APFS或者HFS+后,Windows会无法直接识别这个移动硬盘,需要装额外软件。如果这个移动硬盘有在Windows上使用的需求,建议不要修改。
这个方案需要你完成以下三步操作:
步骤一:备份移动硬盘
在格式化之前,你需要先将移动硬盘的内容备份到另一个设备(如 NAS、另一块硬盘、电脑本地磁盘等)。
我们推荐使用 rsync
工具,它支持断点续传、跳过已复制文件、速度更快,更安全。
rsync -avh --progress \ --exclude='._*' \ --exclude='.DS_Store' \ /Volumes/YourOldDisk/ /Volumes/BackupDisk/BackupDrive/
参数解释:
-a
:归档模式,保留权限、时间戳等;-v
:显示详细过程;-h
:以人类可读形式输出大小;--progress
:显示实时进度;--exclude='._*'
:排除所有._
文件;--exclude='.DS_Store'
:排除.DS_Store
;/Volumes/YourOldDisk/
:你当前的移动硬盘;/Volumes/BackupDisk/BackupDrive/
:你的备份目标目录(例如 NAS 上的路径)。
你可以随时中断该命令,再次运行后 rsync
会自动断点续传,非常安全。
步骤二:格式化移动硬盘并更改文件系统
此操作会清空移动硬盘上的所有内容,请务必确保你已经完成备份。
格式化步骤:
- 打开 磁盘工具(Disk Utility);
- 点击左上角 “显示所有设备”;
- 找到你的移动硬盘(不是分区,是设备);
- 点击上方的 “抹掉”;
- 设置如下选项:
- 名称:你喜欢的名称(如
MyAPFSDisk
); - 格式:APFS;
- 方案:GUID 分区图(GUID Partition Map);
- 名称:你喜欢的名称(如
- 点击“抹掉”开始格式化。
等待格式化完成后,你的磁盘就已经切换为 APFS 文件系统。
APFS 是 Apple 为 SSD 优化的新一代文件系统,支持快照、文件克隆等功能,推荐所有 macOS 用户使用。
步骤三:恢复数据回移动硬盘
完成格式化后,你可以将之前备份到 NAS 或另一硬盘中的数据恢复回来。仍然使用 rsync
即可,速度更快,而且不会恢复 ._
文件。
rsync -avh --progress \ --exclude='._*' \ /Volumes/BackupDisk/BackupDrive/ /Volumes/MyAPFSDisk/
结语
如果你在使用移动硬盘的过程中频繁遇到 ._xxx
文件导致的兼容性问题,特别是在跨平台(Mac ↔ Windows)使用时,最干净彻底的方案就是切换为 APFS 或 HFS+ 文件系统。虽然会涉及格式化和备份,但从长远来看,能显著提升你的文件体验,并避免奇怪的兼容性bug。