如何从损坏的 SD 卡中恢复数据?

23 utilities data-recovery

我有一张 4GB SD 卡,上面有一些我需要恢复的家庭照片。当我将卡插入读卡器时,它显示为未知的 32MB 设备(如/dev/sde)并且无法安装。当插回相机(尼康 D60)时,它说需要格式化卡(就像将它插入 Windows 机器一样)。我想恢复卡上的所有照片(在家庭照片之前还有其他照片),因为我不知道我拍了多少张或它们的确切尺寸(但我相信它们都是 JPEG 格式)。该卡应格式化为 FAT32 文件系统。

哪些 Linux 或 Unix 实用程序可用于恢复文件?我可以自己做还是需要寻求专业帮助?

编辑:看来我的读卡器以某种方式损坏了卡,使其无法读取且无法格式化。当我检查另一张完全相同的卡(除了没有文件)时,它“毁了”第二张。我想再次使用第二张卡,那么是否有一种工具可以格式化不知道(或无法正确报告)它有多大的损坏卡?

Gil*_*il' 33

首先,从您使用第二张卡的经验来看,您的读卡器似乎已损坏,现在您插入的卡已损坏。立即停止使用该读卡器,并尝试使用另一个读卡器恢复该卡。如果您的数据很有价值,请尝试购买质量比最低价阅读器更好的名牌阅读器。

如果卡只是部分不可读而不是完全不可读,请首先尝试将卡中可以复制的内容复制到图像文件中。不要使用dd它,因为它会在第一个错误时停止阅读。使用dd_rescue或等工具ddrescue。这两种工具都试图从磁盘中获取尽可能多的数据。用法示例(/dev/sdc是卡对应的设备;如果您不知道是哪一个,请运行cat /proc/partitions并选择似乎大小合适的那个):

ddrescue -dr3 /dev/sdc card.image logfile
Run Code Online (Sandbox Code Playgroud)

由于看起来文件系统结构已损坏(您的操作系统提供格式化驱动器,因为它们没有看到有效的文件系统),您必须尝试单独恢复文件。幸运的是,图像文件以可识别的标题开头,并且有许多现有的识别图像的雕刻工具:Foremost、MagicRescue、PhotoRec(来自TestDisk的制造商)、RecoverJPEG ……

大多数这些工具都可以在典型的 unix 发行版上使用。但是,如果您愿意,您可以运行专用发行版或其他实时 CD,包括恢复工具,例如SysRescueCD、Knoppix、CAINE ……

  • @Tyler:如果硬件无法识别出正确尺寸的卡,请立即更换读卡器。如果您尝试复制图像并且复制在 32MB 后由于错误而停止,请使用类似 `ddrescue` 之类的工具重试。您不需要了解有关气缸/磁头/扇区的任何信息。 (2认同)

小智 11

PhotoRec 来自http://www.cgsecurity.org/ - 免费、开源、易于使用。刚刚从损坏的 SD 卡中恢复了大量家庭照片和视频。只需解压缩到一个文件夹中,运行该文件并将其指向驱动器。


小智 8

我会推荐TestDisk。我已经成功地使用它从损坏的硬盘中恢复文件。我通常使用像TRK或SystemRescueCd这样的发行版。


use*_*100 6

您没有详细说明数据是如何丢失的。如果是逻辑删除,并且设备没有看到太多写入,则恢复数据的机会很大:显而易见的建议是使用TestDisk 和 Photorec。当然,传统的建议是:写保护原始设备,无论如何,将其暴露给尽可能少的交互。最重要的是,dd它有一些不同的支持,拔掉它并处理图像文件。另一方面,如果主题中的“坏”意味着物理毁坏,事情会变得更难,但你应该尝试同样的方法,因为通常一小部分块变得不可读。尤其是在 SD 上,它以非常高的耐力而闻名。