- TestDisk 允许您恢复损坏的分区表并修复各种文件系统上的引导扇区。
- PhotoRec 是恢复单个文件的理想工具,它忽略文件系统,即使在格式化的驱动器上也能有效恢复文件。
- 使用预先克隆的磁盘映像是避免损坏的物理介质上数据永久丢失的最安全做法。
想象一下,你花了一整个下午用相机拍照或将重要文件保存到microSD卡上,突然电脑提示你该驱动器未格式化或出现读取错误。这真是令人神经紧张,尤其是如果你犯了新手常犯的错误,比如没有使用Windows的弹出选项就拔出了卡,导致文件系统只写入了一半。
幸运的是,在这些情况下,有一些开源工具堪称真正的技术奇迹。我们说的就是一对形影不离的搭档:TestDisk 和 PhotoRec。一个负责处理磁盘结构,另一个则直接读取文件,即使存储卡看似完全损坏或显示为未分配空间,也能帮助我们解决问题。
TestDisk究竟是什么?它是用来做什么的?

TestDisk 是一款跨平台实用程序,主要用于恢复已删除的分区和排查启动问题。当软件崩溃、硬件出现轻微故障或分区表被意外删除时,它尤其有用。其最强大的功能是能够处理硬盘镜像,这意味着如果您有克隆副本,则无需直接访问损坏的硬盘。
它最显著的功能包括修复分区表、重建 FAT32 和 NTFS 文件系统中的引导扇区,以及在 ext2、ext3 或 ext4 等 Linux 系统中定位备份超级块。它还可以从已删除的分区中恢复文件,但对于涉及单个文件删除的更复杂情况,通常建议使用其配套程序 PhotoRec。
TestDisk 使用分步指南

首先,您应该知道 TestDisk 没有漂亮的图形界面;它通过命令行界面运行,这乍一看可能有点吓人,但一旦上手,就会发现它非常直观。务必始终以管理员权限运行它,以便它拥有对硬件的完全访问权限。
- 首页和注册: 打开程序后,首先要选择是否要创建日志文件。选择 创建 如果您想保存已执行步骤的历史记录。
- 设备选择: 您将看到所有已连接设备的列表。使用箭头选择您的设备。 SD卡或USB存储器 并按 Enter。
- 分区类型: 该程序通常会自动检测主板类型(例如 Intel 或 EFI GPT)。在绝大多数情况下,该选项 英特尔 这将是正确答案。
- 分析与搜索: 进入菜单 分析 然后选择 快速搜索TestDisk 现在将搜索缺失的分区。如果按下“p”键后文件显示正常,那就快完成了。
- 深度搜索: 如果快速搜索没有结果,请不要放弃。使用 更深入的搜索它会分析磁盘的每个柱面,并查找引导扇区的备份。
- 修改文字: 找到正确的分区后,使用该选项 填写 将新结构保存到磁盘。重启后,您的数据应该可以再次访问。
引导扇区和 MFT 修复

有时,分区存在,但由于NTFS 引导扇区损坏,系统无法读取。在这种情况下,TestDisk 可以将主扇区与备份进行比较。如果备份有效,您可以选择“备份引导扇区”来覆盖损坏的扇区,从而将驱动器恢复到正常工作状态。
如果问题比较严重,主文件表 (MFT) (本质上是Windows 文件系统存储每个文件位置的数据库)已损坏,您可以使用“高级”菜单并选择“修复 MFT”。程序将尝试使用其备份镜像重建主表。
PhotoRec:已删除文件的生命线

当文件系统损坏严重,TestDisk 无法修复时,PhotoRec 就派上用场了。与 TestDisk 不同,PhotoRec会忽略文件系统,直接在磁盘上搜索数据签名。这意味着即使存储卡已被重新格式化,它也能恢复照片和视频。
在 Windows 系统上,我们可以使用QPhotoRec,它带有图形界面,使用起来更加方便。您只需选择驱动器,选择分区(即使分区看起来已损坏),然后在计算机上指定一个目标文件夹即可。切记,千万不要将恢复的文件保存到同一张 SD 卡上,否则可能会覆盖您正在尝试保存的数据。
您可以将 PhotoRec 配置为仅搜索可用空间(对意外删除的文件非常有用),或扫描整个磁盘。它可以识别数百种格式,从 JPG 和 TIFF 到佳能 CR2 等专业相机拍摄的 RAW 文件。
进阶技巧和替代方案
对于使用 Linux 的用户来说,最稳妥的方法是先使用ddrescue。该工具会创建 SD 卡的镜像,在不损伤硬件的情况下处理坏扇区。获得 .img 文件后,就可以在该镜像上运行 TestDisk ,而无需直接操作物理驱动器,从而避免在操作过程中对内存造成永久性损坏。
如果您觉得命令行操作过于复杂,可以使用 PartitionAssistant Recovery 等商业软件。这些工具提供可视化界面和深度自动扫描功能,但并非总是免费的。不过,对于大多数用户来说,TestDisk 和 PhotoRec 的免费组合足以恢复数据。
这套工具可以修复从简单的读取错误到重建整个分区或从原始扇区提取文件等各种问题,前提是数据尚未被覆盖。关键在于快速操作,避免向损坏的内存写入任何新数据,理想情况下,最好使用备份或克隆镜像进行操作,以确保数据安全。