dd 破坏了多少?

dd 破坏了多少?

dd曾经做过一件非常愚蠢的事情。是的,我确实覆盖了错误的驱动器。

我运行了dd if=file_on_sdb1.iso of=/dev/sdb1 conv=fsync。(请注意:/dev/sdb1/不是/dev/sdb!)它没有完全运行。我猜我在大约 20 秒后中断了它。(它是通过 USB2 连接的。)

当时的设备/dev/sdb是 1TB(~998GB)HDD USB 磁盘。它使用 GPT 格式化。它包含一个占用所有空间的巨大分区。该分区使用 格式化ext4

那里有很多(我猜大约 50GB)数据需要恢复。

我用来覆盖 () 的文件file_on_sdb1.iso大约有 2.5GB 大。这意味着它可能没有覆盖所有内容。它比原来的小 20 倍,怎么可能呢?

我知道的

  • 分区表仍然存在
  • 我无法简单地安装硬盘(没有有用的数据)
  • 第一个超级块被破坏

我想知道

  • 是否(最有可能)仍存在一个旧的超级块?(我不敢相信所有的超级块首先都被覆盖了。他们为什么要这么做。)

有关恢复数据的技巧可获得加分。

答案1

根据您的信息,您可以计算出覆盖区域的大小约为 45 MBytes/秒 *20 秒 = 900 MBytes,但不会超过 2,5GByte。

您这样表述是错误的:

它是用 GPT 格式化的。

它是用GPT分区的。格式化是指构建文件系统。

Testdisk 应该能够找到超级块备份信息。这不会恢复您覆盖的 ~GByte,但您可能能够提取文件系统的部分内容。

gronostaj 推荐的 Photorec 不提供文件名和文件夹结构。当 Testdisk 失败时请使用它。

相关内容