![如何从损坏的 SD 卡中恢复数据?](https://linux22.com/image/2221/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%8D%9F%E5%9D%8F%E7%9A%84%20SD%20%E5%8D%A1%E4%B8%AD%E6%81%A2%E5%A4%8D%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我有一张 4GB SD 卡,上面有一些我需要恢复的家庭照片。当我将卡插入读卡器时,它显示为未知的 32MB 设备(如/dev/sde
)并且无法安装。当重新插入相机(尼康 D60)时,它说卡需要格式化(就像将其插入 Windows 机器一样)。我想恢复卡上的所有照片(在家庭照片之前还有其他照片),因为我不知道我拍了多少张照片或它们的确切尺寸(但我相信它们都是 JPEG)。该卡应格式化为 FAT32 文件系统。
哪些 Linux 或 Unix 实用程序可用于恢复文件?我可以自己做还是需要寻求专业帮助?
编辑:我的读卡器似乎以某种方式损坏了卡,使其无法读取且无法格式化。当我检查另一张完全相同的卡(除了没有文件)时,它“毁了”第二张卡。我想再次使用第二张卡,那么有没有一种工具可以格式化不知道(或无法正确报告)有多大的损坏卡?
答案1
首先,根据您使用第二张卡的经验,您的读卡器似乎已损坏,并且现在损坏了您插入其中的卡。立即停止使用该读卡器,并尝试使用另一个读卡器恢复该卡。如果您的数据很有价值,请尝试购买质量比底价阅读器更好的品牌阅读器。
如果该卡只是部分地不可读且并非完全不可读,请首先尝试将卡中的内容复制到图像文件中。不要使用dd
它,因为它会在出现第一个错误时停止读取。使用诸如dd_rescue
或者ddrescue
。这两个工具都试图从磁盘中获取尽可能多的数据。用法示例(/dev/sdc
是与卡对应的设备;如果您不知道它是哪一个,请运行cat /proc/partitions
并选择看起来大小合适的设备):
ddrescue -dr3 /dev/sdc card.image logfile
由于文件系统结构看起来已损坏(您的操作系统建议格式化驱动器,因为它们在驱动器上看不到有效的文件系统),因此您必须尝试单独恢复文件。幸运的是,图像文件以可识别的标头开头,并且有许多现有的雕刻工具识别图像:最重要的是,魔法救援,摄影记录(来自制造商测试盘),恢复JPEG, …
大多数这些工具都可以在典型的 UNIX 发行版上使用。但如果您愿意,您可以运行特殊用途分配或其他 Live CD,包括恢复工具,例如系统救援CD,诺皮克斯,凯恩……
答案2
照片记录来自http://www.cgsecurity.org/- 免费、开源、易于使用。刚刚从损坏的 SD 卡中恢复了大量家庭照片和视频。只需解压缩到一个文件夹中,运行该文件并将其指向驱动器即可。
答案3
答案4
我使用了 testdisk 包中的 photorec。它对我来说从被我的手机损坏的 sandisk microsd 中恢复照片效果很好。