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

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

我是个白痴,我当时正在用 USB 驱动器写入图像,dd/dev/sdb我没有输入任何内容,而是输入了/dev/sdd135mb 的图像并将其写入了装满文件的 750gb 外部硬盘。是否有可能恢复这些文件,或者dd驱动器是否完全清零了?请帮帮我,因为这是我生命中最低谷之一。

dd5 秒内就完成了 135mb 镜像的写入,所以我没有机会停止它。等我知道发生了什么时已经太晚了。命令如下:

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

编辑 2:外部硬盘的文件系统是 FAT32(我拥有该硬盘已有一段时间了,当时 FAT32 是最通用的文件系统)。我还有一个刚买的 2TB 硬盘,我打算将大部分文件从 750GB 移到该硬盘,如果需要,我可以用它来传输恢复的文件。

答案1

当驱动器被意外覆盖时,您将需要数据恢复工具恢复剩余数据。如果在运行dd135 MB 映像时发生这种情况,则驱动器的这些部分肯定已丢失,无法挽救。

通过安装

测试磁盘 安装 testdisk

您可能能够恢复部分文件。包含在测试磁盘套件中您还会发现该工具相簿即使在 testdisk 无法恢复分区或驱动器本身存在硬件缺陷的情况下,它也有助于恢复单个文件。

TestDisk/PhotoRec 也可以在驱动器映像上运行(正如这个答案

答案2

您可以尝试使用 foremost 从您的硬盘中恢复文件。不过,Foremost 只会尝试恢复某些类型的文件(jpg、doc、rar、zip、htm、bmp 和许多其他文件),因此我认为它无法帮助恢复所有内容。

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

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

当命令扫描你所有的 sdd HD 时,祈祷一切顺利(尽管这会花很多时间)

或者,您可以将整个 750Gb HD 添加到具有足够空间的更大驱动器中,然后在该映像文件上运行 foremost(但 foremost 不会写入它......只是为了提高速度,如果您想在该映像上运行多个恢复工具)。类似_

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

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

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

希望这可以帮助

答案3

据我所知,DD 会连续写入文件,因此您会丢失磁盘前 750 MB 中的所有内容。

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

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

我成功恢复分区表的工具之一是 testdisk。我建议使用系统救援光盘并使用 CD 或 USB 启动。如果您安装了 64 位操作系统,请记住使用 64 位系统救援启动,因为如果 / 分区完全可用,则有可能chroot仅使用类似的内核来修复设置。

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

编辑:现在发现它是 fat32,我认为这会比我想象的要容易,因为会有很多 fat 恢复工具。您可以使用它们来生成 fat 表和目录结构,并且可以使用 photorec 等工具恢复特定文件。 Ubuntu 救援混音有 photorec 和 testdisk。

编辑:添加了有关克隆硬盘磁盘内容的信息。

答案4

我同意这里的社区成员,testdisk、foremost 和 sleuthkit。另外你也可以尝试 extcarvewww.giis.co.in/giis/。最重要的是,在尝试任何/所有这些工具之前,请确保将所有 750GB USB 备份到新的 2TB 驱动器,然后开始运行它们。您说,外部驱动器有很多文件。它是任何特定文件,如 mp3 doc 等,还是只是一大堆东西的集合。

相关内容