昨天我收到了一个用于克隆的硬盘,整个过程如下:
一个 1TB 的硬盘,原先用了 120GB,现在被调整为 140GB。之后他们做了以下事情:
sudo dd if=/dev/sdb of=/dev/sdc
在哪里安全数据库是已调整为 120GB 的 1TB 硬盘(正如我所料,其余部分留空/未使用)。南达科他州是一块新的 160GB 硬盘。因此他们将 1TB 克隆到 140GB,因为显然他们之前曾尝试使用 gparted 复制分区(他们分别将 sdb1 和 sdb2 复制到 sdc1 和 sdc2。但即使在激活磁盘上的启动标志后,这也不起作用)。
现在,他们还说,在启动克隆过程后,显然在达到 160GB 硬盘的最大实际大小后,dd 会出错。我猜是读/写错误,因为没有更多块可以写入,因为没有更多剩余空间(请记住,他们正在将 1TB 的总空间复制到 160GB。)所以他们按CTRL+C取消了该过程。
他们去测试了系统,确实系统显示了 GRUB 启动菜单,并且可以从中选择任何内核映像,但系统无法正确启动。至少它无法加载 lightdm 或 Unity Desktop。
我所做的只是做了一个fsck
并发现以下错误:
cyrex@cyrex:~$ sudo fsck /dev/sdb2
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
The filesystem size (according to the superblock) is 39046656 blocks
The physical size of the device is 36136448 blocks
Either the superblock or the partition table is likely to be corrupt!
所以我的想法是,我要么进行某种超级块重置以告诉它正确的块数量(或低于调整大小),要么更改文件系统以读取实际的块数量。那么我该如何纠正硬盘驱动器的这种状态呢?
答案1
首先,请为你自己制作一个所给克隆的副本。
然后,您可以尝试testdisk
复制,看看它是否可以神奇地检索分区表。有关更多提示,请参阅:
如果其他方法都不起作用,您可以在副本上进行任意实验:fsck、超级块重置等。