需要损坏 USB 闪存盘的 ExFAT 恢复建议

我的 exFAT 格式 U 盘在拔出后突然损坏了,Windows 现在要求我先格式化后才能使用。我需要帮助,找到在不让损坏变得更严重的情况下恢复文件的最安全方法。我应该先尝试哪些 exFAT 恢复工具或步骤?

在很多情况下,exFAT 恢复仍然是有可能的,所以我不会仅仅因为存储卡突然看起来损坏了,或者 Windows 提示要格式化,就直接判定它没救了。

最重要的是先停止对这张卡进行任何操作。不要格式化。不要运行 CHKDSK。也不要先尝试“修复”它。如果这是文件系统损坏或文件被删除,这些操作可能会让恢复变得更困难。快速格式化通常清除的是文件系统记录,而不是实际内容,所以在没有新数据覆盖之前,文件可能仍然还在。

有一次我从一张 exFAT SD 卡里删除了一些相机视频,我立刻把卡取了出来,并用读卡器连接到我的电脑。我很确定这比其他任何事情都更有帮助,因为相机根本没有机会往里面写入新数据。

我当时用的是 Disk Drill。基本流程相当直接:

  1. 在你的电脑上安装 Disk Drill,不要安装到 SD 卡或 USB 驱动器上。
  2. 插入 exFAT 卡或 USB 设备。
  3. 选择该设备并点击 搜索丢失的数据
  4. 大多数情况下使用 通用扫描
  5. 等待扫描完成并查看预览。
  6. 将恢复出的文件保存到你的电脑或另一块驱动器上。不要把它们恢复回同一张卡或同一个 USB 闪存盘。

在 Windows 上,它允许你免费恢复最多 100 MB,这至少足以让你在付费之前确认文件是否能够显示出来。另一个有用的选项是 磁盘镜像。如果 SD 卡总是掉线、读取特别慢,或者状态看起来不稳定,先制作一个镜像,再扫描镜像文件。这样可以减少对原始设备的压力。

对于相机拍摄的素材,尤其是来自 DJI 无人机、GoPro、Canon、Sony 或类似相机的文件,我还会尝试 高级相机恢复(ACR)。视频文件可能会在卡上分裂成多个片段,而常规扫描并不总能正确把它们重建出来。ACR 就是为这种碎片化的相机视频设计的,所以在认定这些片段彻底丢失之前,值得先检查一下。

如果 Disk Drill 没有找到你需要的内容,TestDisk 是另一个选择。它是免费的,而且更偏技术向,但如果问题是分区表损坏或文件系统损坏,而不是普通的删除,它可能会非常有效。

有一种情况我不会继续折腾这些自己动手的工具,那就是设备看起来存在物理损坏。如果它在多台电脑上都无法显示、总是频繁断开、存在可见损伤,或者异常发热,那就停止使用并联系数据恢复实验室。很多机构都提供免费评估。根据损坏程度,恢复费用可能是几百美元,也可能远远超过 1,000 美元,但如果是硬件故障,软件通常解决不了问题。

所以答案是肯定的,在没有备份的情况下,从 exFAT SD 卡或 USB 驱动器中恢复文件是有可能成功的。只要立即停止使用设备,先恢复文件,等数据安全之后再考虑格式化或修复它。

不要让 Windows 为了看看会发生什么就对它进行“初始化”、格式化或运行修复。我同意不要用 CHKDSK 的建议,但如果这个 U 盘是在被直接拔出后损坏的,我会对在实际 U 盘上反复扫描更加谨慎。先检查它在磁盘管理中是否显示正确容量。如果显示为 0 字节、容量异常,或不断重新连接,就停止操作,不要在恢复应用上浪费写入/读取次数。如果显示正确容量,请先把扇区镜像制作到另一块硬盘,再针对该镜像进行恢复。Disk Drill 或 TestDisk 可能会有帮助,但更安全的流程是先做镜像,后做恢复,在文件已经复制到别处之前绝不要格式化。

将其直接插入电脑上稳定的 USB 端口,只检查设备报告的容量是否正确。恢复过程中不要使用前置面板端口、集线器、电视、打印机或任何不稳定的设备。糟糕的连接看起来可能像文件系统损坏,而扫描期间反复断开连接会让情况变得更糟。

我同意 @boswandelaar 先制作镜像的看法,但这里对“先制作镜像”的理解需要谨慎。不要把它克隆到另一个相同容量的 U 盘上,然后再开始在原始设备上尝试操作。应当在一块健康的内部硬盘或有充足可用空间的外置硬盘上制作一个原始镜像文件。如果你熟悉 Linux,ddrescue 通常是处理有问题 U 盘的更好工具,因为它可以跳过坏区域并使用日志文件继续恢复。在让程序反复重试数小时之前,先做一次轻量的首轮扫描。

之后,再用恢复软件扫描该镜像。Disk Drill 适合更易用的扫描,而如果主要问题是 exFAT 引导扇区或分区表,TestDisk 也值得一试。重要的是,任何“修复”尝试都应该在副本上进行,而不是在唯一的原件上进行。如果这些文件对业务至关重要,或者是无法替代的家庭资料,而这个 U 盘还出现断连、发热或容量变化的情况,我实际上会在制作镜像这一步之前就停止。USB 闪存盘可能会以很糟糕的方式损坏,而软件无法修复正在失效的控制器或 NAND。

即使大部分数据仍然存在,也要预期恢复过程会很混乱。对于 exFAT 来说,一次错误拔出可能会让分配信息或目录记录处于异常状态,所以你也许能找回文件,但会丢失文件夹名称、原始文件名,或者有些只写入了一部分的文件。这并不意味着恢复失败了,只是说明文件系统元数据受到了损坏。

我会遵循前面已经提到的先做镜像的建议,但在花几个小时折腾工具之前,我会先设定好预期。如果这个 U 盘里只是存放了复制进去的文档、照片、安装程序之类的内容,恢复软件还是有不错机会的。如果它在被拔出时正处于写入状态,比如视频导出、备份任务、虚拟机、数据库或压缩包下载,那么这些特定文件即使其他内容都能正常恢复,也可能已经损坏了。

还有一个大家容易忽略的小问题:确保目标硬盘的可用空间要比这个 U 盘更大,而不只是比你记得里面那些文件所占的空间更大。给一个 256 GB 的 U 盘做镜像,大致需要约 256 GB 的空闲空间来存放镜像,之后还要额外空间来存放恢复出的文件。不要把 Disk Drill、PhotoRec、R-Studio 或其他任何工具指向一个快满了的 C: 盘,然后再疑惑为什么恢复不完整,或者电脑变得不稳定。

我不会只根据工具是否显示原始文件夹树来判断它的好坏。如果文件系统结构已经损坏,深度扫描可能会改为通过文件特征来查找文件,这样往往会生成像 file000123.jpg 这样的通用名称。很烦人,但对于一个被强行拔出的 exFAT 盘来说,有时候这已经是你能得到的最好结果了。在为任何软件付费之前,先预览一部分重要文件类型的样本,尤其是 Office 文件和视频,因为在扫描结果里看到文件名,并不等于恢复出来的文件真的可用。

恢复完成后,不要再把那个 U 盘用于任何重要用途。你之后可以重新格式化它做测试,但一个因为拔出而发生过损坏的 USB 盘,最多也只是个便宜的临时盘。最安全的长期做法其实很朴素:把恢复出的文件复制到两个地方,然后把这个 U 盘换掉。