如何在 Mac 上从 SD 卡恢复文件?

我的SD卡在我拔出得太快后,突然无法在我的Mac上显示照片和视频了,现在Finder也打不开它。这些文件是重要的个人回忆,我真的需要帮助,在不让情况变得更糟的前提下,在Mac上安全地恢复SD卡数据。

我在 Mac 上用索尼 SD 卡时也遇到过这种情况。首先,先别把它当成彻底没救了。

SD 卡上大多数被删除的文件,只是从文件表中移除了,并不是从卡本身被擦除了。如果还没有新数据写入覆盖它们,恢复还是有机会的。这也正是像 Disk Drill、UFS Explorer 和 R-Studio 这类工具存在的原因。

在 Mac 上,我会先从 Disk Drill 开始。我当时用它是因为界面布局很快就能看懂,而且不用跟应用较劲就能顺利开始一次完整扫描。它支持相机 RAW 格式,结果展示也很清晰,预览功能还帮我省了不少时间。如果照片预览能正常打开,我通常会把这当作一个好迹象,说明恢复出来的文件大概率也能正常打开。虽然不算完美,但在恢复一大堆垃圾文件之前,它是个很可靠的筛选方式。

有一件事是我吃了亏才学会的:一定要用真正的 SD 读卡器。不要把卡留在相机里再把相机接上电脑。也别用不稳定的 USB 集线器。容量大的卡做长时间扫描时,连接不稳定更容易失败;扫描到 82% 时读卡器掉线,白白浪费一个小时。也要让你的 Mac 保持唤醒状态。扫描到一半进入睡眠模式,既蠢又完全可以避免。

如果卡被格式化了,我也还是不会慌。快速格式化通常只是清除了目录信息,文件数据往往还留在那里,直到被别的内容替换掉。可一旦你继续拍照、再次格式化,或者去运行搜索结果里那些乱七八糟的修复应用,恢复成功率就会下降。我见过有人这三件事全做了,然后还纳闷为什么恢复回来的一半文件都是坏的。

如果是我来处理,我会这样一步一步做:

  1. 立刻停止使用这张 SD 卡。
  2. 把它插进读卡器,然后连接到你的 Mac。
  3. 安装并打开 Disk Drill
  4. 对这张卡运行完整扫描。
  5. 让扫描跑完。不要中途停掉。
  6. 恢复之前先预览文件。
  7. 把所有恢复出的文件保存到 Mac 内置硬盘或另一块外置硬盘,绝对不要恢复回同一张 SD 卡。

如果你想走免费路线,PhotoRec 是大家反复推荐的那个。它确实能用,不过说实话,体验比较粗糙。主要靠键盘操作,不太友好,而且恢复出来的文件通常会被重命名,也没有原来的文件夹结构。如果你更在意把图像数据救回来,而不是保持文件整理有序,那它还是可以的。

在你花大半个晚上扫描之前,先检查一下备份。我见过有人以为存储卡里的照片丢了,结果后来在 iCloud Photos、Lightroom、Google Photos 或 Dropbox 里找到了,因为同步其实早就完成了,只是本人忘了。检查只要两分钟,有时候这就能直接解决整个问题。

如果 Finder 卡住了,我会先在磁盘层面检查这张卡。@mikeappsreviewer 已经很好地介绍了扫描工具,但我不会一开始就直接在“磁盘工具”里进行修复。急救会向卡中写入数据。对于一张被过快拔出的卡,这不是我的第一步。

请在你的 Mac 上这样做。

  1. 打开“磁盘工具”。
  2. 看看左侧边栏中是否出现了 SD 卡。
  3. 如果它显示出来了,先不要挂载修复它。
  4. 打开“终端”并运行 diskutil list。
  5. 找到 SD 卡的标识符,例如 /dev/disk4。
  6. 先制作这张卡的镜像,不是文件镜像,而是整张卡的镜像。

使用这个:
sudo dd if=/dev/disk4 of=~/Desktop/sdcard.img bs=4m

如果 macOS 提示磁盘已挂载,请先卸载它:
diskutil unmountDisk /dev/disk4

为什么要这样做。因为从镜像恢复比反复对故障卡进行读写更安全。如果卡断开连接,至少你保存下了一次稳定的复制尝试。这样会花更长时间,但我认为这是更安全的做法。

在你获得镜像之后,用 Disk Drill 扫描镜像,而不是扫描实体卡。Mac 上的 Disk Drill 可以很好地处理磁盘镜像,这样也能减少 SD 卡的损耗。如果这张卡无法保持连接足够长的时间来完成镜像制作,那么最后再把直接用 Disk Drill 扫描这张卡作为最后一搏。

如果 SD 卡在“磁盘工具”或 diskutil list 中完全不出现,问题通常出在硬件、读卡器、适配器或卡控制器上。那种情况下,如果你手头有的话,试试不同的读卡器和另一台 Mac。如果它仍然一直不可见,软件恢复就会很快变得非常棘手。

也检查一下“图像捕捉”。这个建议有点奇怪,但我遇到过卡在 Finder 里失效,却仍然能在那里显示媒体内容的情况。

如果你想看一个简短的可视化指南,这个Mac 上 SD 卡恢复视频教程比一大堆文字更容易跟着操作。

重要的一点是,把文件恢复到你的 Mac 或另一块硬盘上。不要恢复回 SD 卡。这个环节总是会毁掉恢复结果。这里有个小拼写错误,不过是的,别往里面写入任何新内容。

不要因为 Finder 表现异常就点“急救”。在这一点上,我更倾向于 @vrijheidsvogel,而不是常见的“先修复再说”的建议,但除非卡已经不稳定或频繁断开连接,否则我也不一定总会折腾原始 dd 镜像。如果这张卡在“磁盘工具”里仍然可见,在 Mac 上更简单的做法是先检查一下,是否只是文件系统没有被正常挂载。

在进行任何修复操作之前,先试试这个:

  • 打开 系统信息 > USB/读卡器,看看 Mac 是否完全检测到了 SD 硬件。
  • 打开 图像捕捉。真的。有时候 Finder 会卡住,但“图像捕捉”仍然能看到照片。
  • 在终端中运行 diskutil list,然后对这张卡运行 diskutil info /dev/diskX。如果它显示有有效分区但就是无法挂载,这能说明很多问题。

如果卡能被检测到但无法读取,先恢复,后诊断。这就是 Disk Drill 在 macOS 上很实用的地方,因为它可以扫描 Finder 无法正常打开的设备,如果你先制作了镜像文件,它也可以直接处理镜像。我主要喜欢它能快速预览结果,这样你可以判断你的 JPG/MP4 文件是否真实可恢复,而不只是扫描出来的垃圾数据。

我和 @mikeappsreviewer 这类人们常给出的建议有一点小分歧:不要一遍又一遍地反复尝试挂载。每一次失败的重新挂载、修复尝试或重新连接,都会给可能已经不稳定的卡增加更多压力。

还要检查一下,照片是否其实早就被导入到某个不起眼又被忘掉的地方了:

  • “照片”应用资料库
  • iCloud Photos
  • Adobe Lightroom 缓存/目录
  • Google Drive / Dropbox 相机上传

如果没有任何东西能识别这张卡,换 读卡器,不要只换端口。适配器坏掉的情况真的太太太常见了。

如果你想在做任何有风险的操作之前先看一个基础演示,这个还不错:观看这个 Mac SD 卡恢复演示

最重要的一点:恢复到另一块硬盘,不要直接恢复回 SD 卡。很多人就是这样把“文件丢失”变成了“真的彻底没了”。