/ dev / sdc1:无法读取超级块

Linux Ubuntu 14.04(天青服务器)

我试图备份/ dev / sda1驱动器,所以我执行了

sudo dd if=/dev/sda1 of=/dev/sdc1 

命令。 在执行该命令时,空间显示为负值。 我终止了命令。 之后,我无法打开该驱动器,所以我跑了这个命令。

 sudo reboot 

我在这个磁盘上有一些重要的数据。 现在我不能在我的列表中看到挂载的驱动器df -h

当我试图挂载它。

  sudo mount /dev/sdc1 /datadrive 

然后我得到这个输出

 sudo: unable to resolve host abc mount: /dev/sdc1: can't read superblock 

有没有人有任何想法可能会导致这种行为?

如果你这样做

 sudo dd if=/dev/sda1 of=/dev/sdc1 

而你的数据真的在sda1上,那么你的数据在sda1上应该是安全的。

其他和所有投注都closures。

我build议你用dd来备份MBR,在你的磁盘克隆过程之后恢复,重写分区表(只是为了确保)。

复制MBR:

 ~# dd if=<SOURCE_DISK> of=/path/to/mbr_file.img bs=512 count=1 

还原分区表:

 ~# dd if=/path/to/mbr_file.img of=<DESTINATION_DISK> bs=1 skip=446 count=64 

但是,使用dd进行磁盘备份不是备份Linux SO的更好select。 在处理* NIX服务器时,更好的方法是使用tarrsync (这是远程复制的最佳select),因为在更改文件系统,磁盘大小和分区scheme时可以获得更大的灵活性。 我总是使用rsync来部署Linux服务器。

:对于NTFS克隆,我会推荐Partimage作为工具。

我在这个磁盘上有一些重要的数据。

你是说sdc1? 如果是的话,没有太多的希望从中获取数据。

如果执行了dd命令,那么sdc1头部的数据将被覆盖。 超级块驻留在文件系统的头部。 它也可能被覆盖。 这就是为什么当你尝试挂载sdc1时得到错误信息的原因。

为了恢复和sdc1中的数据一样多,我的想法是从它的备份中恢复超级块(在文件系统的不同位置存储了超级块的副本)并尝试从sdc1中复制文件它是可读的。 如果某些文件使用位于分区头部的块,则可能会损坏(这些块已被覆盖)。

这是一个关于超级块的好链接 。

其实,我和你曾经经历过同样的情况。 我不能得到任何恢复到最后。

另外,在执行任何恢复步骤之前,请使用dd命令返回sdc1以防止进一步损坏。