使用 dd 将多个映像文件中的多个分区恢复到同一目标驱动器

使用 dd 将多个映像文件中的多个分区恢复到同一目标驱动器

我想使用dd命令从源计算机创建图像文件,然后将其提取dd到目标计算机。

但问题是挂载点//home位于不同驱动器上的不同分区上。

# /dev/sda1 is mounted at /
# and /dev/sdb1 is mounted at /home
# boot to a live cd and run:

dd if=/dev/sda1 | gzip -c > backup_root.img.gz
dd if=/dev/sdb1 | gzip -c > backup_home.img.gz

# switch to a target system, boot to a live cd
# create partitions of equal size to their source.
# then

gunzip -c backup_root.img.gz | dd of=/dev/sda1
gunzip -c backup_home.img.gz | dd of=/dev/sda2

# can I do this given source images are made from different drives?

这行得通吗? (我忘记了 /boot 和交换分区,但它们也应该提取到目标计算机)

有人建议只使用gzip/gunzipwithout dd

gzip - </dev/sda1 >backup.root.img.gz
gunzip - <backup.root.img.gz >/dev/sda1'

答案1

  1. 确实dd在您的命令中没有执行任何操作。如果您需要块级访问,它很有用,但由于您正在使用gzip/ ,gunzip因此可以删除它。

  2. 如果您从 Live CD 启动,请确保在制作映像之前已卸载sda1和。sdb1文件系统中与您制作副本同时进行的任何活动都可能会导致问题。

  3. 如果分区的大小完全相同,那么它就可以工作。否则,您可能会覆盖以下分区。创建它们时仔细检查尺寸。

  4. 再次确保在进行复制之前卸载分区。

相关内容