我不小心删除了 Mac APFS 驱动器上的错误文件夹,需要帮助恢复已删除的文件。自从这件事发生后,我还没保存太多内容,但我不确定 Time Machine、快照还是 APFS 数据恢复软件才是最安全的下一步。
是的,误擦除错误的 APFS 宗卷或删除错误文件夹后的那种心里一沉的感觉,确实很糟。但别把这当成文件就一定永远消失了。很多时候,被删除或格式化的数据仍然在那里,直到 macOS 或其他应用把它覆盖掉。
最重要的是停止对那块硬盘进行任何操作。说真的,你做得越少,找回数据的几率就越大。
- 立即停止使用受影响的磁盘。
- 不要再往里面保存或复制任何新内容。
- 不要在同一块硬盘上重新安装 macOS。
- 在恢复你关心的文件之前,不要运行“急救”、TestDisk 或修复工具。
- 如果是外置硬盘,先拔掉,等你准备好开始恢复时再接上。
如果你有 Time Machine,先检查它。这是目前最简单的路径。即使备份盘没有插上,也还是打开 Time Machine,因为 APFS 可能有本地快照,而这些快照有时可以找回最近删除的文件。
如果没有备份,那就只能考虑数据恢复软件了。
我大概会先试试 Disk Drill,主要是因为它能理解 APFS,而不只是做原始签名扫描。这样如果有效,你就更有机会找回文件夹名称、文件名和元数据,而不是最后得到一大堆随机命名的文件。它也可以帮助恢复已删除文件、已格式化的 APFS 宗卷以及损坏的 APFS 容器。
更安全的做法是:
- 下载 Disk Drill,但如果可以,把它安装到另一块硬盘上。
- 连接受影响的 APFS 磁盘,或者如果被擦除的是内置硬盘,就选择内部驱动器。
- 在 macOS 设置中授予它完整磁盘访问权限,这样它才能正确扫描 APFS。
- 选择该驱动器并运行 搜索丢失数据。
- 让扫描完整结束,不要提前停止。
- 使用预览功能确认照片、视频、文档或其他内容确实可以恢复。
- 只恢复你需要的内容,并且保存到另一块硬盘。绝不要恢复回同一个 APFS 磁盘。
Disk Drill 里一个很有用的功能是可以先创建磁盘映像。如果硬盘状态不稳定,扫描映像比反复对原始磁盘进行高强度读取更安全。S.M.A.R.T. 健康信息也值得查看,因为它可以告诉你这更像是简单的文件系统损坏,还是硬盘已经开始出现故障。
如果 Disk Drill 没有找到你需要的内容,还有其他工具可用,但它们各有取舍。
PhotoRec 是免费的,而且可能非常有效,尤其适合照片、视频和文档。问题在于它通常是基于文件签名工作,而不是基于 APFS 目录结构,所以文件名和文件夹通常都保不住。
TestDisk 在真正的问题是 APFS 分区结构损坏,而不只是文件被删除时,会有帮助。但我仍然不会把它作为第一步。先把重要内容恢复出来,因为在你拿回文件之前就修改分区信息,只会让糟糕的情况变得更复杂。
另外,Mac 内置 SSD 是个特殊情况,因为有 TRIM。一旦 TRIM 清除了已删除的数据块,恢复软件就无法再把它们找回来。这就是为什么速度很重要。而且如果一个使用 FileVault 加密的 APFS 宗卷被格式化了,加密密钥通常也会一起丢失,这往往意味着恢复并不现实。
如果硬盘出现以下情况,我会跳过自己动手恢复:
- 反复出现又消失,
- 发出咔哒声、摩擦声或蜂鸣声,
- 扫描时断开连接,
- 只要一访问就让 Mac 卡死,
- 或者显示严重的 S.M.A.R.T. 警告。
这些迹象更指向硬件故障。在这种情况下,反复通电并扫描只会让情况更糟。找专业恢复实验室会是更好的选择。
好的实验室通常会提供免费评估,而且很多都采用无数据,不收费的方式。逻辑恢复通常起价约为 300–500 美元,而物理硬盘损坏则很容易达到 1,000 美元以上,具体取决于问题。
不过,如果这只是一次误删或误格式化,你仍然可能有不错的恢复机会。只是不要再往这块硬盘写入任何内容,把恢复出来的数据保存到另一块磁盘上,并且宜早不宜迟。
在花时间扫描 APFS 磁盘之前,先检查该文件夹是否位于 iCloud Drive、桌面或文稿中。如果开启了 iCloud 同步,删除操作可能已经同步到那里,而你最好的机会可能是 iCloud.com 的“最近删除”部分,或者另一台尚未同步的 Mac/iPhone。打开“文件”或 Finder 之前,先让那台设备离线,否则它可能会“追上”同步并删除同一个文件夹。如果它是一个普通的本地文件夹,那么是的,请停止向该驱动器写入并从其他地方进行扫描,但不要忽视云端副本。许多 Mac 用户会想到“APFS 恢复”,而实际上丢失的文件夹一直都由 iCloud 管理。
在安装恢复应用之前先检查快照。
我同意“停止向磁盘写入数据”的建议,但如果这是系统驱动器上最近删除的文件夹,我不会直接马上进行完整的 APFS 扫描。扫描速度很慢,而且在内部 SSD 上,由于 TRIM,对已删除的数据块来说可能已经太晚了。如果存在 Time Machine/APFS 快照,那会干净得多,因为你是在从某个时间点复制正常文件回来,而不是试图从可用空间中雕刻出已删除的数据。
打开终端并运行:
tmutil listlocalsnapshots /
如果你看到删除之前日期的条目,那就是我首先会查看的地方。然后从菜单栏或系统设置中打开 Time Machine,前往原始文件夹位置,并回退到出错之前的时间。如果你想更谨慎一些,可以恢复到其他位置,例如外部驱动器或临时文件夹,这样你就可以在替换任何内容之前先进行比较。
有个小问题:本地快照并没有保证一定存在。macOS 在需要空间时可能会清除它们,如果你从未设置过 Time Machine,可能一个都没有。人们有时会把 APFS 快照说得像是撤销删除功能,但只有在删除之前该快照确实存在且之后没有被清理掉的情况下,它们才有用。
在弄清楚情况时,我也会避免“顺手清理”。如果你还没清空废纸篓,就不要清空。不要运行像 CleanMyMac 这样的清理工具。不要让照片、Dropbox、iCloud Drive、Steam、Xcode 或任何其他程序在那块磁盘上大量处理缓存。即使是正常浏览网页,也可能写入很多小文件。
如果快照没有内容,而 iCloud/废纸篓也走不通,那么恢复软件就是下一个合理的步骤。可以试试 Disk Drill,特别是如果你想要更友好的界面,但对现代 Mac 内部 SSD 的预期要现实一些。它可能会找到较旧的副本、预览图、缩略图,或来自未被 TRIM 区域的文件,而你删除的那个精确文件夹树可能回不来。在外部 APFS 机械硬盘或非 TRIM SSD 上,成功几率通常更高。
如果可以,尽量从另一台 Mac 或另一个启动卷执行扫描。把恢复出来的文件保存到别处。如果丢失的文件夹非常重要,先为受影响的磁盘制作一个镜像,然后扫描镜像,而不是扫描原盘。这一步很枯燥,但它可以防止你把一次糟糕的误删变成三次在同一驱动器上互相干扰的恢复尝试。
我会使用的快速顺序是:废纸篓、如果相关则检查 iCloud 最近删除、Time Machine/本地快照,然后再做恢复扫描。如果删除的文件夹在内部 SSD 上,而且没有快照,那就尽快行动,但不要期待奇迹。APFS 不是这里的主要反派,SSD 清理机制才是。


