跳转到内容

Mac 数据恢复指南

当 Mac 上的数据意外删除后,采取及时且正确的措施至关重要,这能极大提高数据恢复的成功率。

在发现数据丢失后,请务必立即采取以下措施:

  • 立刻停止写入新数据(如关闭占用或下载的程序),防止数据被覆盖。任何写入操作都可能永久性地覆盖已删除数据所在的扇区,导致数据无法恢复。
  • 准备另一个磁盘或 U 盘作为恢复数据的存储介质。切勿将恢复的数据直接写入到发生数据丢失的同一磁盘内,这同样会导致数据覆盖。

在尝试第三方恢复工具之前,务必检查系统自带的备份机制:

  • 垃圾箱: 首先检查废纸篓,看文件是否还在。
  • 时光机器 (Time Machine): 如果启用了 Time Machine,可以通过它来恢复之前的版本。
  • iCloud: 对于存储在 iCloud Drive 或同步到 iCloud 的文件,检查 iCloud 网页端或 Visions 或其他设备。

当上述方法无效时,可以考虑使用专业的数据恢复软件。

Testdisk 是一款免费开源工具,它专注于修复文件系统结构,能够带着原始的文件名和文件夹路径直接恢复被删文件

Terminal window
brew install testdisk

Testdisk 主要用于恢复丢失的分区和修复分区表,以下是其在 Mac 上的典型使用步骤:

  1. 启动 Testdisk: 在终端中输入 sudo testdisk 并回车。如果 Testdisk 没有检测到所有磁盘,可能需要前往“系统设置”->“隐私与安全性”->“完全磁盘访问权限”,添加“终端”或 Testdisk 程序。
  2. 创建日志文件: 选择 [Create] 创建一个新的日志文件,或选择 [No Log] 不创建日志(推荐创建,便于后续分析)。
  3. 选择目标磁盘: 使用上下箭头键选择包含丢失分区的硬盘。对于 Mac 用户,推荐使用原始设备 /dev/rdisk* 而不是 /dev/disk* 以获得更快的传输速度。
  4. 选择分区表类型: Testdisk 会自动检测并列出当前硬盘的分区表类型(如 [EFI GPT]),确认后按回车。
  5. 分析分区: 选择 [Advanced] 并按回车
  6. 选择并恢复分区:
    • 在检测到的分区列表中,使用箭头键高亮你希望恢复的分区。注意查看分区大小和文件内容以确认。
    • Testdisk 会自动识别分区类型(如 HFS+),如果需要,可以手动选择。
    • 确保要恢复的分区没有被标记为 D(eleted),可以通过按左右箭头键将其状态更改为 *(bootable)P(rimary)L(ogical)
  7. 写入分区表: 仔细审查分区列表。如果所有需要保留和恢复的分区都正确标记,选择 [Write] 并回车,然后输入 y 确认,最后点击 OK 将新的分区表写入磁盘。
  8. 重启 Mac: 完成写入后,重启你的 Mac。恢复的分区通常会在 Finder 中重新出现并可访问。

PhotoRec 是 Testdisk 套件中的另一个强大工具,与 Testdisk 不同,它专注于文件签名恢复 (File Carving)。这意味着它不依赖于文件系统结构,而是通过识别文件头和文件尾的模式来恢复文件,因此即使文件系统严重损坏,它也能从各种存储介质(如硬盘、U 盘、存储卡等)中恢复丢失的文件,尤其擅长恢复照片、视频、文档等媒体文件。它支持超过 480 种文件格式。

PhotoRec 通常与 Testdisk 一同安装,无需单独安装。通过 Homebrew 安装 Testdisk 后,PhotoRec 也将可用。

以下是 PhotoRec 的一般使用流程,主要用于文件恢复而非分区恢复:

  1. 启动 PhotoRec: 在终端中输入 sudo photorec 并回车。
  2. 选择目标磁盘: 使用上下箭头键选择包含丢失文件的硬盘。同样,推荐使用 /dev/rdisk* 以获得更快的传输速度。
  3. 选择源分区: 选择你想要恢复文件的分区。即使分区已损坏或删除,PhotoRec 也能尝试扫描。
  4. 选择文件系统类型: PhotoRec 需要知道数据块的分配方式。如果不是 ext2/ext3/ext4 文件系统,通常选择 [Other]
  5. 选择扫描范围: 你可以选择从整个分区扫描(即使文件系统已损坏也适用),或者仅从未分配空间 (unallocated space) 扫描(仅恢复已删除的文件)。
  6. 配置恢复选项 (File Opt): 在 [File Opt] 菜单中,你可以选择或取消选择 PhotoRec 将尝试恢复的文件类型。默认情况下,它会尝试恢复所有支持的类型。在 [Options] 中,你还可以开启 Paranoid 模式以尝试恢复更多碎片化的 JPEG 文件,但这会消耗更多 CPU 资源。
  7. 选择恢复文件存放目录: 这是非常关键的一步。选择一个不同于源磁盘的目录来存放恢复的文件(例如,连接一个外部硬盘或 U 盘)。在 Mac 上,外部磁盘通常挂载在 /Volumes/ 目录下。使用箭头键导航,回车进入目录。
  8. 开始恢复: 确认所有设置后,按下 [C][Enter] 键开始恢复过程。PhotoRec 会实时更新已恢复文件的数量。
  9. 恢复完成: 恢复过程可能需要较长时间。完成后,PhotoRec 会显示恢复摘要。恢复的文件会按照 recup_dir.1recup_dir.2 等子目录进行分类。

Disk Drill 是一款功能强大的付费数据恢复软件,提供免费扫描功能,但恢复数据通常需要购买专业版。

可从其官方网站下载,或通过其他渠道获取。

  • 夸克分享链接(请注意,分享链接和密码可能随时失效,请谨慎使用):Disk Drill 下载链接
  • 直接启动 Disk Drill 进行扫描。
  • 扫描结果通常会分类显示:
    • 个人数据: 通常指用户目录下的文件。
    • 现有数据: 硬盘上未删除的可见文件。
    • 已删除数据 (关注): 这是我们需要重点关注的部分。
    • 已重建数据 (关注): 这部分数据通过深度扫描重建,可能文件名与原来的不同。

在 Mac 系统中,/dev/disk0/dev/rdisk0 都指向物理硬盘,但它们的工作机制有所不同:

  • /dev/disk0(Block Device,块设备)
    • 工作机制:它带有操作系统的缓存(Buffer/Cache)。数据在读取时会先经过 Mac 的内存缓存区,然后再交由程序。
    • 特点:对于日常文件读写,有缓存会更快;但对于底层数据扫描,缓存反而会成为累赘,导致数据传输变慢。
  • /dev/rdisk0(Raw Device,原始/字符设备)
    • 工作机制:“r” 代表 Raw(原始)。它完全绕过操作系统缓存,直接让 PhotoRec 等工具与硬盘硬件进行数据传输。
    • 特点:直接、纯净,因此在进行深度数据恢复或磁盘镜像操作时,使用 /dev/rdisk0 能提供更稳定和高效的访问。

在 macOS 中,外部存储设备(如 U 盘、移动硬盘)通常会被挂载到 /Volumes/ 目录下。

/Volumes/