我的 Android 手机中有一张 SD 卡。未加密。上面有应用数据和图片。然后有一天它不再被认出,它是空的。我并不担心,因为我有备份,但我认为检查我是否能够恢复数据可能是一个很好的可能性。这就是为什么我将卡放入我的Linux机器(卸载)并尝试了一些工具。
dmesg 没有给我任何关于我的 SD 卡的警告或错误 (dmesg | grep mmcblk)。
首先,我使用 ddrescue 和 safecopy 制作了它的原始图像。两者都有非常被动的选项(使用 -n 的 ddrescue 和使用 --stage1 的 safecopy)。两者都制作了完美的图像,没有任何读取错误/坏块。
sudo ddrescue -n -v /dev/mmcblk0 dr.img dr.log
对于进一步的步骤,我制作了该文件的副本。
cp dr.img dr_working_copy.img
然后我拿了testdisk。它无法找到任何分区。即使经过更深入的搜索。
sudo testdisk dr_working_copy.img
然后我最重要的是使用了photorec。两者都找不到任何文件。
sudo photorec dr_working_copy.img
sudo foremost -I dr_working_copy.img
现在的问题是:我是不是太笨了,无法使用这些工具?您能否确认这是恢复文件的可行尝试,还是我搞砸了什么?你知道是什么导致数据损坏到我再也找不到了吗?
你做了合理的工作来恢复信息。但正如评论中提到的那样,SD 卡是不可靠的一次性存储设备。特别是如果它们用于大量写入操作。所以更换卡,下次保留有价值信息的备份副本(在不同的存储上)。
当然,您可以去一些数据恢复公司,但这可能会花费您很多钱。这是你应该问自己的时刻:我准备花多少时间/金钱来恢复这些信息。
还有一个建议:不要试图格式化并再次使用它。因为这次失败(再次)可能会让你更加吃惊。我在第一次失败时为我的相机扔了 SD 卡。我更看重我的照片,而不是一张 SD 卡。