用dd恢复图像文件的问题

时间:2014-09-12 06:20:38

标签: linux dd

我有一个pendrive,我在其他系统中恢复由dd命令制作的图像。 当我恢复图像时,我总是必须做一个fsck。 可能的是,当我生成图像时,源系统已损坏,或者我恢复图像文件时损坏了pendrive? 非常感谢和抱歉我的英语!

2 个答案:

答案 0 :(得分:1)

要知道数据是否有损坏,在创建图像时,应计算checksum(md5sum或sha1)。

# dd if=/dev/sdb of=my_image.img  # --> here you create your image
# md5sum /dev/sdb                 # --> here you compute your checksum
e2985322ca0ed3632027a6eb8fe70ae8  /dev/sdb
# md5sum my_image.img             # --> check the integrity of the image
e2985322ca0ed3632027a6eb8fe70ae8  my_image.img

因此,当您闪存到另一台设备,另一台计算机或任何系统时,您可以检查数据的完整性。

# dd if=my_image.img of=/dev/hdc  # --> here you flash your image to a device
# md5sum /dev/hdc                 # --> check the integrity of the flashed data
e2985322ca0ed3632027a6eb8fe70ae8  /dev/hdc

当然,这里获得的哈希只是一个例子,但对于相同的数据它总是相同的。如果任何字节被改变,则校验和将完全不同。

显然,如果您使用dd复制到某个设备(即使是),请确保使用mount | grep /dev/hdc之类的内容未安装,如果您想要闪烁dev/hdc则不返回任何内容设备。

答案 1 :(得分:0)

这只是猜测,因为您没有提供有关图像创建的大量信息,但是,在拍摄图像时文件系统可能处于不洁净状态。文件系统也可能在那个时间点仍然挂载 - 在拍摄图像之前总是卸载文件系统(或将其挂载为只读)。