dd快速磁盘镜像

・2 分钟阅读

 $ dd if=/dev/sda bs=$(hdparm -i /dev/sda | grep BuffSize | cut -d ' ' -f 3 | tr [:lower:] [:upper:] | tr -d BUFFSIZE=,) conv=noerror | dd of=image.dd conv=noerror

说明

GNU dd (磁盘转储)将任何块设备复制到另一个块设备或文件,它对于磁盘克隆非常有用,但是,它通常的调用速度并不快。这些设置,通常会使复制速度提高一倍上。

  • dd输入管道输入另一个实例的输出似乎总是提高复制速度,
  • /dev/sda指的是你的输入设备,它可能会改变,用fdisk -l检查你的,
  • image.dd指的是存储在当前工作目录中的副本,你还可以使用其他块设备,例如,/dev/sdb ,警告确定你知道将输出文件设置为!这里的错误会对你的系统造成不可修复的损害,
  • 整个hdparm子shell将dd 的输入块大小设置为源介质的缓冲区大小。这通常会提高复制速度,但可能需要调整(请参阅下面的限制),
  • conv=noerror告诉dd忽略读取错误,

检查dd的进度: kill -USR1 $(pidof dd)

限制

hdparm子shell不适用于没有缓冲区的块设备,如闪存驱动器。尝试从512字节到1或2兆字节的块大小以获得最佳速度,dd通常要求运行root特权,因为它非常强大且危险,并且在覆盖时不会提示,如果不小心dd输出,则可能会永久破坏整个系统或部分系统,小心使用;仔细检查所有参数,特别是file/device!

Hujiuxiang profile image