硬盘恢复:我可以加快dd速度吗?


1

我目前正在尝试恢复意外格式化的硬盘驱动器,但是当然,我是使用它dd if=/dev/sdb of=/dev/sdc conv=noerror,sync来进行备份以便首先使用的。实际上,我有两个问题。

  1. dd是sloooooooowwwwww。我的分区表和文件系统由于意外格式而被损坏,如果通过-bs选项使用更大的块大小,这会以某种方式影响副本的驱动器几何形状吗?

  2. 由于这一点点,我只使用驱动器开始处的分区表/文件系统;如果我需要将原始驱动器重新复制到备份中,那么我不能仅在前几个MB之后中止dd,因为驱动器的其余部分应保持不变?

我希望其中之一是可以的,否则我大约要走十个小时。

Answers:


1

如果您只需要备份分区表和MBR,请使用:

dd if=/dev/SOURCE of=/my/path/to/MBR_BACKUP bs=512 count=1

或者使用sfdisk:

sfdisk -d /dev/SOURCE > /my/path/to/MBR_BACKUP

然后还原:

sfdisk /dev/DEST < /my/path/to/MBR_BACKUP

以上所有都将很快。

要对整个硬盘进行映像,建议您将BS设置为驱动器缓存大小的一半,例如,对于使用64mb缓存的Seagate 1TB驱动器(我使用bs = 32M)。它将加快速度。


好,太棒了!谢谢!我以为我可以做到,但只是想确保。为什么缓存大小减半?
里奇

前一阵子,由于需要重建大量的驱动器阵列,我做了一些基准测试,这对我来说是最有效的。hololeap答案的第一个链接提供有关该主题的更多信息和基准。
Nanzikambe

1
啊,好的,非常感谢!使用16MB缓存大小的8MB,完整副本已从11个小时减少到不到2个小时,当然,基本上只需移动第一个512b就可以立即完成。:)
里奇

0

dd是一个非常小,非常有效的程序,其缓慢可能是由于硬盘驱动器上的读/写延迟所致。简而言之:dd与您的系统允许的速度一样快。您可以尝试使用更大的bs,并且在Unix和Linux Stack Exchange站点上可以回答此问题

MBR和分区表只是前512个字节,因此复制它的时间不会太长,但是我看不到备份损坏的分区表的意义。让dd花些时间来备份硬盘驱动器,但是接下来您需要做的是尝试恢复有关硬盘驱动器上分区位置的信息,以便您可以重新创建分区表。有软件可以为您完成此任务。

查看这些链接以获取更多信息:

http://www.pixelbeat.org/docs/disk/
http://www.diskinternals.com/partition-recovery/
http://www.dedoimedo.com/computers/linux-data-recovery.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.