最近有人在 Mac 上永久恢复已删除的文件吗?

我不小心永久删除了 Mac 上的重要文件,而且它们不在废纸篓或 iCloud 中。我正在寻找有关 Mac 文件恢复、可信赖的恢复软件或可能有助于在文件彻底消失之前恢复已删除文件的步骤的建议。

我会把这当成紧急情况处理,但我还不会现在就放弃。清空废纸篓确实会让那个简单恢复按钮失效。不过,在 macOS 覆盖这些文件块之前,或者 SSD 通过 TRIM 将它们清除之前,这些文件块仍然可能还在那里。

我首先会做的,就是停止使用这台 Mac。真的。不要安装东西。不要下载大文件。不要来回移动文件夹。跳过更新。在同一块硬盘上的任何活动,都会降低你成功恢复的几率。

1. 进入恢复模式前请再次确认

我见过一些文件看起来像是被删除了,但其实只是被移动了、隐藏了,或者被同步到别的存储位置了。所以我会再用 Finder 搜索一次,再检查一遍废纸篓,并使用 Command + Shift + . 显示隐藏文件。

这听起来有点傻,但如果文件并没有消失,只是被藏起来了,这一步能节省很多时间。

2. 在动用恢复应用之前,先查看 Time Machine 和 iCloud

如果 Time Machine 处于开启状态,我会打开该文件原来所在的文件夹,进入 Time Machine,回退到删除之前的时间点,并从那里恢复。

然后我也会检查 iCloud。如果已启用桌面、文稿、照片或 iCloud Drive 同步,那么很有可能丢失的文件或较旧的副本仍然在那里。我会打开 https://www.icloud.com/ ,先查看最近删除。

3. 检查 APFS 快照

这一点经常被忽略。在 macOS 上,即使文件在 Finder 中看起来已经消失,APFS 快照有时仍会保留较早的文件系统状态。

我会打开“磁盘工具”,选择主要的 APFS Data 宗卷,然后查看是否存在删除之前创建的快照。如果有,我会挂载它,并将丢失的文件复制到其他位置。如果还有别的选择,我不会把它复制回同一块硬盘。

4. 运行恢复软件,但要谨慎操作

我会先从 Disk Drill 开始。和其他一些工具相比,我觉得它更容易上手,而且预览功能比很多人想的更重要。如果预览能够正常打开,你就能在花钱或浪费时间之前确认文件不是无效数据。

我建议按这个顺序操作:

  1. 如果你有外接硬盘,就把 Disk Drill 安装到外接硬盘上。除非别无选择,否则我不会把它安装到存有已删除文件的同一块 Mac 硬盘上。

  2. 启动软件,选择删除文件所在的硬盘,然后开始扫描丢失的数据。

  3. 如果它要求你选择恢复模式,我会先阅读提示,然后选择最符合你情况的那一种。接着等待。有些扫描会比较慢。

  4. 使用筛选器或搜索框,按文件名、文件类型或原来的文件夹路径缩小范围。

  5. 预览文件。

  6. 选择你需要的内容。

  7. 将所有恢复出来的内容保存到另一块硬盘,不要保存回原来的 Mac 存储设备。

如果 Disk Drill 不能帮你找回文件,我接下来会看看 R-Studio 或 Data Rescue。根据我的经验,它们也很可靠,只是引导没有那么多。对所有这类工具都适用同一条规则:扫描受影响的磁盘,把恢复出来的内容保存到别的地方。

5. 知道何时该停止并送去实验室

如果硬盘出现硬件故障、Mac 进过液、SSD 无法正常显示、恢复应用每次都会卡住,或者这些文件重要到一次错误操作都会造成损失,我就会放弃自己动手,交给专业人员处理。

实验室费用更高。不过,如果存储设备本身看起来不稳定,我不会继续反复尝试。

最大的因素是时间。并不存在一个明确的恢复截止期限。在使用 SSD 的 Mac 上,TRIM 和正常的后台活动会很快蚕食你成功恢复的机会。所以我会先检查备份,然后立刻开始扫描。等待通常才是人们最后悔的部分。

如果这些文件很重要,我想在 @mikeappsreviewer 说的基础上补充一点。在扫描整个硬盘之前,先检查特定应用的恢复功能。

很多 Mac 应用都会保留自己的版本历史。Pages、Numbers、Keynote、Word、Photoshop、Preview、Notes,甚至一些代码编辑器都是如此。先打开应用,然后查找“文件”“恢复到”“浏览所有版本”“自动恢复”或临时文件。我曾在废纸篓清空后用这种方式找回文档。听起来有点傻,但它比人们想的更常奏效。

还可以在 Finder 中通过“前往文件夹”检查这些文件夹:

~/Library/Containers
~/Library/Autosave Information
~/Library/Application Support
/private/var/folders

按文件扩展名搜索,不要只搜文件名。被重命名的临时文件仍然会按类型显示出来。

对于普通用户来说,我不太同意把快照作为第一个自己动手尝试的步骤。如果你不熟悉 APFS 相关内容,就会浪费时间。我会先检查应用历史记录和与该应用绑定的备份,然后再使用恢复软件。

至于软件,Disk Drill 是 Mac 上相对更安全的首选之一,因为界面简单,而且文件预览能节省时间。EaseUS 和 R-Studio 也很常见,但比起营销宣传,我更相信预览功能。恢复时只恢复到外置硬盘。

还有一个很多人会忽略的地方:邮件附件、Slack、Discord、聊天中的 AirDrop 历史记录,以及另一台 Mac 的“下载”文件夹里旧的导出 ZIP 文件。

如果你想看一个简单的 Mac 文件恢复演练,这个还不错:Instagram 上的简单 Mac 文件恢复步骤

如果被删除的文件原本在内置 SSD 上,而且已经正常使用了几个小时或几天,成功率会迅速下降。SSD 的 TRIM 很残酷。如果是在外置 HDD 上,你的机会通常会更好。

我想在 @mikeappsreviewer@jeff 已经提到的内容上再补充一点:检查一下这个文件是否曾经从其他应用打开过,或者被导出到某个奇怪的位置。Mac 很喜欢在应用缓存、临时导出文件夹以及“最近打开”路径里留下副本。我就发现过“已删除”的 PDF 还躺在 Preview 的最近项目里,编辑过的图片还留在某个随机的导出文件夹中。有点蠢,但确实会这样。

另外,如果这是你发给过别人的照片、视频或文档,也请在你的 Mac 和 iPhone 上搜索“信息”里的对话记录。邮件附件也是一样。有时候最快的“恢复”方法,就是直接从聊天线程里把文件重新拿回来。

如果你现在很焦虑,而且这些文件特别重要,我对先尝试太多手动方法这点会稍微持不同意见。那样很容易白白浪费几个小时。如果没有备份,我会很快转去做恢复扫描。Disk Drill 通常会是我首先尝试的 Mac 文件恢复工具,因为预览功能能很直观地看出文件到底是真的可以恢复,还是只是个文件名幽灵。如果你要用它,先扫描磁盘,先预览,然后只恢复到外部存储。

还有几个比较冷门的检查点:

  • Terminal 历史记录里有没有移动文件的命令
  • Adobe/Office 的最近文件列表
  • 最近插过的外接硬盘
  • 除了 iCloud 之外的云账户,比如 Dropbox 或 Google Drive

如果你想看更多 Mac 已删除文件恢复技巧和用户建议,那个讨论帖也值得快速浏览一下。

如果是内置 SSD,而且你之后还一直在使用这台 Mac,恢复成功的几率会很快变差。不是完全不可能,只是……对,体验会更糟。

我想补充一个其他人只是轻描淡写提到的角度:检查该文件是否仍存在于应用程序或 macOS 缓存创建的本地快照中,但如果可能的话,请从第二个启动环境进行此操作。

如果该文件位于你的内部 SSD 上,我对在实时系统中花太多时间手动搜寻这件事略有不同意见。Spotlight 重新索引、浏览器缓存、同步守护进程,甚至打开文件夹都可能产生写入。如果这些数据真的很重要,请关闭 Mac,然后选择以下任一方式:

  1. 启动进入恢复模式 / 另一个 macOS 安装,或
  2. 以目标磁盘模式 / 磁盘共享模式将 Mac 连接到另一台 Mac

然后从那里扫描受影响的驱动器。这样可以稍微减少额外写入。

另外也值得检查,而且我觉得这一点没有得到足够重视:

  • 已编辑文件的本地 APFS 克隆
  • /Volumes,以防文件误保存到了外部磁盘别名
  • 应用程序/项目的包内容,例如照片图库、GarageBand 捆绑包、Keynote 包
  • 旧的打印/导出后台处理文件夹,如果它是 PDF 或图像的话
  • 通过 Terminal 进行符合 SIP 安全的只读检查,而不是在 Finder 里大量点击

对于恢复应用,Disk Drill 作为第一次尝试是不错的,因为预览速度快,而且界面没有其他一些那么烦人。

Disk Drill 的优点:

  • 易于使用
  • 文件预览效果好
  • 按类型/路径筛选还不错
  • 对非专业人士来说上手很快

缺点:

  • 如果你只需要恢复一次,价格偏贵
  • 可能返回很多无用/重复结果
  • 对启用了 TRIM 的 SSD 并没有魔法般的效果
  • 深度扫描可能很慢

如果 Disk Drill 能找到文件名但预览失败,通常意味着是部分覆盖,而不是软件错误。到了那一步,R-Studio 有时可以尽量恢复出更多结构,而 EaseUS 更简单,但我对它的结果质量没那么有信心。Data Rescue 也是另一个仍有人在用的工具。

@jeff@viajeroceleste@mikeappsreviewer 已经很好地讲清了显而易见的恢复路径。我只是会优先考虑尽量减少进一步写入,而不是如果这是内部 SSD 就在机器上做大量挖掘。这个决定通常比你选择哪个应用更重要。