意外地在外部驱动器上运行'dd'命令

时间:2014-01-03 07:15:17

标签: unix storage corruption

我意外地运行了以下命令

sudo dd if=dev/sda1 of=/dev/sdb1 bs=32M count=10 iflag=direct

这使得安装在/ dev / sdb1上的驱动器无法访问,并且在重新启动后无法安装。我可以做些什么来修复/撤消这个?数据是否仍然可以恢复?

2 个答案:

答案 0 :(得分:1)

鉴于bs=32M count=10参数,前320兆字节已消失,但磁盘的其余部分应保持不变。

我不确定这会有效,但我会试试这个:

  1. 立即备份磁盘
  2. 创建与原始版本相同类型的分区(vfat?ntfs?)
  3. 将新分区中的第一个字节复制到损坏的分区
  4. 挂载旧分区,看看会发生什么
  5. 像这样,例如:

    sudo su -
    dd if=/dev/sdb1 of=/my/backups/sdb1.image
    dd if=/dev/zero of=/tmp/test1 bs=32M count=10 
    mkfs.vfat /tmp/test1
    dd if=/tmp/test1 of=/dev/sdb1 bs=32M count=10 
    

    即使这不起作用,超出前320兆字节的数据也应该存在,因此您应该能够使用ddrescue等工具恢复它。

答案 1 :(得分:0)

不太可能,没有对磁盘表面进行一些重磁分析。我怀疑你已经吹走了磁盘的第一个320M,你可以从其他数据中重建一些数据,这并不容易。

这就是备份的原因。