有没有办法从部分用dd覆盖的存储设备恢复文件?

我是一个白痴,我正在使用dd写一个图像到USB驱动器,而不是键入/dev/sdb我输入/dev/sdd并将135mb图像写入我的750gb外部硬盘驱动器中的文件。 是否有可能恢复文件或dd完全清零驱动器? 请帮助,因为这是我生命中最低点之一。

dd在5秒内写完了135mb的图像,所以我没有机会阻止它。 当我知道发生了什么为时已晚。 命令如下:

 sudo dd if=generic.img of=/dev/sdd bs=1M 

EDIT2:外部Harddrive的文件系统是FAT32(我有一段时间的驱动器,FAT32是当时最通用的FS)。 我还有一个2TB驱动器,我刚刚计划将大部分文件移动到750gb,如果需要,我可以使用它将Recovered文件传输到。

当驱动器被意外覆盖时,您将需要数据恢复工具来恢复数据的剩余部分。 当从运行dd获得135 MB图像时,驱动器的那些部分肯定已经消失,无法获救。

通过安装

TestDisk 安装testdisk

您可以恢复部分文件。 包含在TestDisk套件中,您还可以找到有助于恢复单个文件的工具PhotoRec ,即使在testdisk无法恢复分区或驱动器本身存在硬件缺陷的情况下也是如此。

TestDisk / PhotoRec也可以在驱动器的映像上运行( 这个答案也提示)

您可以尝试最先从HD恢复文件。 尽管如此,Foremost将尝试仅恢复某些类型的文件(jpg,doc,rar,zip,htm,bmp和其他一些文件),所以我相信它无法恢复所有内容。

基本上,我会尝试做的是:

 sudo foremost -v -t all -i /dev/sdd -o ~/DISK_RECOVERY_FOLDER 

当命令扫描你所有的sdd HD时,交叉你的手指(尽管它需要相当多的时间)

或者,你可以将你的整个750Gb HD转换为具有足够空间的更大驱动器,并且最先在该映像文件上运行(而不是最重要的是写入它,但是……如果你想在那个上运行几个恢复工具的速度图片)。 就像是_

 sudo dd -if=/dev/sdd -of=image.dd 

并将最重要的命令更改为:

 sudo foremost -v -t all -i image.dd -o ~/DISK_RECOVERY_FOLDER 

希望这可以帮助

DD AFAIK连续写入文件,因此您丢失了磁盘的前750 MB中的任何内容。

我认为首先要做的是尝试并尽可能地备份整个图像,这样如果你尝试一个工具并且它改变了文件系统,你可以转到另一个工具,看看它是否会得到更好的结果。

要备份整个磁盘映像,您可能需要另一个750GB的硬盘来复制映像。 我会使用livez CD / USB clonezilla并复制文件来备份整个磁盘映像。

我在恢复分区表方面取得了很大成功的工具之一是testdisk。 我建议使用System Rescue CD并使用CD或USB启动它。 如果安装了64位操作系统,有一点需要记住使用64位系统救援启动,因为如果/分区完全可用,则可以使用类似的内核来chroot并修复设置。

启动到系统救援CD并运行testdisk。使用菜单选择analyze并查看是否找到分区表。 我认为您需要运行更深入的搜索以通过powershell查找分区表,并且它可能无法成功检测第一个分区的分区类型。 所以给它命名并尝试恢复分区表。 然后备份恢复的文件。

编辑:现在发现它是fat32,我认为我认为会有很多脂肪恢复工具会更容易。 您可以使用它们来生成胖表,并且可以使用photorec等工具恢复目录结构和特定文件。 ubuntu rescue remix有photorec和testdisk。

编辑:添加了用于克隆硬盘驱动器磁盘内容的信息。

我建议使用计算机取证工具,比如SleuthKit来读取磁盘结构的剩余部分,并找出看起来像结构的东西,看起来像数据的东西,并帮助你恢复。

我同意这里的社区成员,testdisk,foremost和sleuthkit。 此外,您还可以尝试使用www.giis.co.in/giis/ 。 最重要的是,在您尝试任何/所有这些工具之前。确保将所有750GB usb备份到新的2TB驱动器,然后开始运行它们。 你说,外部驱动器有很多文件。 它是任何特定的文件,如MP3文档等或只是收集了很多东西。