我可以在没有 Time Machine 备份的情况下恢复已删除的 APFS 文件吗?

我不小心从我的 Mac 的 APFS 驱动器中删除了重要文件,而且发现自己没有 Time Machine 备份。我正在尝试弄清楚,在不覆盖数据或让恢复变得更困难的情况下,恢复已删除的 APFS 文件的最安全方法是什么。我应该先尝试哪些工具或步骤?

首先:如果你还没这么做,先停止使用那块硬盘。这比你点了哪个按钮更重要。清空废纸篓、删除 APFS 宗卷、在“磁盘工具”里格式化,不管是哪种情况,现在真正的风险都是新数据写入并覆盖旧数据。

对于普通的机械硬盘 (HDD),被删除的文件通常在被覆盖之前仍然有机会恢复。对于SSD,情况会更复杂,因为有TRIM。一旦 TRIM 清除了那些已删除的数据块,恢复软件就无法把它们找回来了。所以如果这是你 Mac 的内部 SSD,请尽快关机,并避免在上面安装任何东西。

我当时遇到的情况几乎一样,最后用了 Disk Drill。它比我预想的更直接易用,但关键是要用对方法。

我当时基本是这样做的:

  1. 把 Disk Drill 安装在另一块硬盘上,而不是要恢复数据的那块盘上。
  2. 连接有问题的 APFS 硬盘,或者如果丢失的文件在内部磁盘上,就选择内部磁盘。
  3. 在 macOS 提示时允许“完全磁盘访问”,因为有些 APFS 扫描没有这个权限就无法正常工作。
  4. 选中 APFS 宗卷,并运行完整的“搜索丢失数据”扫描。
  5. 先让扫描完成再去恢复文件。就我当时的情况来说,多等一会儿找到了更多内容。
  6. 先使用预览功能,确认文件确实可以正常打开。
  7. 只恢复自己需要的内容,并将其保存到另一块硬盘,不要写回原始的 APFS 宗卷。

比较好的一点是,Disk Drill 能为很多已恢复文件保留原来的文件夹结构。这一点差别很大,因为要在成千上万个随机文件名里筛选真的很折磨。它还会给出很多文件的恢复可能性,这能帮助你避免把时间浪费在那些大概率已经损坏的文件上。

如果你是在“磁盘工具”里抹掉了硬盘,这并不自动意味着数据已经没了。快速抹掉通常只是移除了文件系统信息,而不是立刻擦除每一个数据块。只要这块硬盘之后没有被大量重复使用,恢复仍然可能成功。最大的例外是加密的 APFS 宗卷。如果启用了 FileVault,而格式化又移除了加密密钥,那么旧数据通常就无法恢复了。

如果 Disk Drill 没找到你需要的内容,PhotoRec 也是另一个选择。它是免费的,但工作方式不同。它会根据文件特征进行查找,而不是依赖 APFS 元数据,所以你通常会丢失文件名和文件夹结构。尽管如此,它对照片和视频仍然可能很有用。

不过,如果硬盘已经出现物理故障迹象,我就会停止继续尝试软件恢复。比如:

  1. 反复断开连接,
  2. 发出咔嗒声、摩擦声或蜂鸣声,
  3. 只是偶尔才会被识别,
  4. 或者每次扫描时都会卡死。

到了这种时候,反复通电可能会让损坏变得更严重。找专业的数据恢复实验室会更稳妥。很多机构都提供免费检测,而且不少是按“无数据,不收费”的方式收费。逻辑恢复可能要几百美元,而物理损坏或无尘室操作的费用很容易超过 1,000 美元。

如果这只是误删或快速格式化,那你的恢复机会会大得多。越早停止向硬盘写入数据,成功几率就越高。

从外部机械 APFS 磁盘删除文件,与从内部 Apple SSD 删除文件,是完全不同的情况。对于外置 HDD,我会认为先克隆或制作磁盘镜像,然后再扫描副本。对于内部 SSD,我就不会这么放松了,因为 macOS、交换空间、Spotlight、应用缓存和 TRIM 都可能在你毫无操作时对恢复造成不利影响。

在运行恢复软件之前,先检查是否存在 APFS 快照。人们有时说没有 Time Machine 备份,实际上他们的意思是没有外部备份驱动器,但如果之前启用过 Time Machine,本地快照仍然可能存在。在 Terminal 中,像 tmutil listlocalsnapshots / 这样的命令可以告诉你是否有快照。如果有一个删除之前的快照,那可能比用恢复应用从磁盘中挖出文件更干净,因为你得到的是文件系统自身之前的状态,而不是重建出来的残留数据。

我同意不要把恢复出的文件再保存回同一个卷这一警告。我还要更进一步地说,不要运行 Disk Utility 的急救,不要重新安装 macOS,也不要先清理空间。这些在普通故障排查中都是合理习惯,但在数据恢复期间却是坏习惯。如果你需要更友好的界面,Disk Drill 或类似工具可能会有帮助,但如果可以的话,请从单独的启动盘或另一台 Mac 进行扫描。如果丢失的文件比送实验室恢复的成本更重要,那么在第一次谨慎扫描之后就停止尝试,不要连续试用五种不同的工具。

驱动器的 Finder 副本不是恢复镜像。如果你将可见文件夹复制到另一块磁盘,你只是在复制 macOS 仍然能看到的内容,而且你可能会导致源盘产生更多读取和元数据写入。对于恢复来说,更安全的版本是对整个设备或容器进行块级镜像或克隆,然后再针对该副本运行工具。

我同意上面关于 SSD 的警告,但对于内部 Mac 驱动器,我会谨慎对待“直接扫描它”的做法。如果文件很有价值,请关机并使用另一台 Mac 或外部启动磁盘进行操作。在 Apple 芯片的 Mac 上,你可以从恢复模式中使用共享磁盘,但请记住,在任何内容可以读取之前,仍然需要先解锁 FileVault 卷。不要仅仅因为磁盘工具提供了它就运行急救。急救的作用是让文件系统保持一致,而不是保留已删除文件记录。

Disk Drill、R-Studio、UFS Explorer、PhotoRec 等都可能有用,但顺序比软件标志更重要。如果可能,先制作镜像,第二步扫描,第三步恢复到另一块不同的物理磁盘。如果已删除的文件位于内部 SSD 上,并且 Mac 在那之后一直正常使用,那么请降低预期。如果它们位于外部 APFS 硬盘上,并且大部分时间都处于未连接状态,那么你的成功几率会高得多。