如何在Linux或者Unix上使用dd制作磁盘镜像
时间:2020-01-09 10:46:00 来源:igfitidea点击:
如何使用dd命令创建磁盘镜像?
如何从活动的Linux CD进行磁盘克隆以进行备份或者恢复?
您可以轻松地使用dd命令制作分区或者完整硬盘驱动器的镜像。
什么是dd镜像?
磁盘克隆不过是创建整个磁盘镜像的简单过程。
这对于复制磁盘,备份,恢复等有用。
dd命令是易于使用的创建此类克隆的工具。
警告:使用dd命令时应格外小心;它可以破坏数据。
记住输入文件(if =)和输出文件(of =)的顺序。
如何克隆整个硬盘
语法为:
dd if=/dev/input/DEVICE-HERE of=/dev/OUTPUT/DEVICE-HERE bs=64K conv=noerror,sync
要将Linux中的/dev/sdc(250G)克隆到/dev/sdd(250G),请执行:
# dd if=/dev/sdc of=/dev/sdd bs=64K conv=noerror,sync
要在FreeBSD中将/dev/ada0(250G)克隆到/dev/adb0(250G),请执行:
# dd if=/dev/ada0 of=/dev/adb0 bs=64K conv=noerror,sync
其中:
if =/dev/file
:输入设备/文件。- of =/dev/file:输出设备/文件。
- bs = 64k:将块大小设置为64k。您可以使用128k或者任何其他值。
- conv = noerror:告诉dd继续操作,忽略所有读取错误。
sync
:如果有任何读取错误,则将输入块添加为零,因此数据偏移保持同步。
如何克隆分区
要将/dev/sdc1克隆到/dev/sdd1,请执行:
# dd if=/dev/sdc1 of=/dev/sdd1 bs=128K conv=noerror,sync
输出示例:
15874+0 records in 15873+0 records out 1040252928 bytes transferred in 3.805977 secs (273320858 bytes/sec)
dd制作磁盘镜像
您可以从实时CD启动。
一旦启动,请确保没有从源硬盘驱动器磁盘挂载任何分区。
您可以将磁盘镜像存储在外部USB磁盘上。
语法如下
dd if=/dev/INPUT/DEVICE-NAME-HERE conv=sync,noerror bs=64K | gzip -c > /path/to/my-disk.image.gz
在此示例中,为/dev/da0创建磁盘镜像,即克隆/dev/da0并保存在当前目录中:
# dd if=/dev/da0 conv=sync,noerror bs=128K | gzip -c > centos-core-7.gz
上面的命令只是克隆了整个硬盘,包括MBR,引导加载程序,所有分区,UUID和数据。
如何还原系统(dd镜像)
语法为:
# gunzip -c IMAGE.HERE-GZ | dd of=/dev/OUTPUT/DEVICE-HERE
例如:
# gunzip -c centos-core-7.gz | dd of=/dev/da0
提示1:本地磁盘空间不足?使用遥控器
您可以通过ssh发送镜像并将其保存在名为server1.theitroad.local的删除框中:
# dd if=/dev/da0 conv=sync,noerror bs=128K | gzip -c | ssh [email protected] dd of=centos-core-7.gz
提示2:使用dd制作图片时查看进度
您需要按如下方式将GNU dd与coreutils版本8.24一起使用(将status = progress传递给dd):
# dd if=/dev/sdc1 of=/dev/sdd1 bs=128K conv=noerror,sync status=progress