如何使用dd命令备份或克隆磁盘分区

时间:2019-05-19 01:25:55  来源:igfitidea点击:

dd是一个代表“数据复制器”的命令。
此命令用于复制和转换数据。
dd命令简单地将标准输入复制到标准输出,读入512字节的块。
可以使用dd命令备份整个硬盘或分区。
我们还可以使用dd命令备份MBR。

1 -创建现有分区的备份

下面的命令将创建整个分区/dev/sdb1的备份,并写入/backup/sdb1.img文件。

dd if=/dev/sdb1 of=/backup/sdb1.img

输出示例:

16064937+0 records in
16064937+0 records out
8225247744 bytes (8.2 GB) copied, 123.319 s, 66.7 MB/s

2 -恢复备份到其他分区

现在将数据恢复到另一个空分区/dev/sdb2。
执行下面的命令进行恢复。

dd if=/backup/sdb1.img of=/dev/sdb2

输出示例

16064937+0 records in
16064937+0 records out
8225247744 bytes (8.2 GB) copied, 197.688 s, 41.6 MB/s

我们可以在新磁盘/dev/sdb2上看到内容。
这看起来像/dev/sdb1的副本

3 -创建现有的重复分区

我们可以使用现有的分区直接创建一个重复的分区。
使用以下命令将分区/dev/sdb1复制到/dev/sdb2,而不创建任何备份文件。

dd if=/dev/sdb1 of=/dev/sdb2

输出示例

16064937+0 records in
16064937+0 records out
8225247744 bytes (8.2 GB) copied, 221.431 s, 37.1 MB/s

复制现有的硬盘驱动器

在上面的步骤中,我们学习了如何复制整个分区。
现在我必须将带有两个分区的整个硬盘驱动器/dev/sda复制到其他硬盘驱动器/dev/sdb。
首先使用下面的命令复制前446个字节。
它将MBR从第一个磁盘复制到第二个磁盘。
这也将创建第二个可引导的磁盘。

dd if=/dev/sda of=/dev/sdb bs=446 count=1

输出示例

1+0 records in
1+0 records out
446 bytes (446 B) copied, 0.00174812 s, 255 kB/s

现在确保/dev/sdb上的分区与/dev/sda匹配
一旦完成,你可以复制每个分区一个新的硬盘驱动器:

dd if=/dev/sda1 of=/dev/sdb1
dd if=/dev/sda2 of=/dev/sdb2

备份和恢复MBR到镜像文件

让我们创建MBR到镜像文件的备份。
执行以下命令将/dev/sda驱动器的MBR备份到/backup/backup-mbr-sda.img文件。

dd if=/dev/sda of=/backup/backup-mbr-sda.img bs=512 count=1

输出示例:

1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0115243 s, 44.4 kB/s

下一步是将MBR恢复到另一个磁盘。
使用下面的命令来完成。

dd if=/backup/backup-mbr-sda.img of=/dev/sdb bs=446 count=1