我想使用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/gunzip
without dd
:
gzip - </dev/sda1 >backup.root.img.gz
gunzip - <backup.root.img.gz >/dev/sda1'
答案1
确实
dd
在您的命令中没有执行任何操作。如果您需要块级访问,它很有用,但由于您正在使用gzip
/ ,gunzip
因此可以删除它。如果您从 Live CD 启动,请确保在制作映像之前已卸载
sda1
和。sdb1
文件系统中与您制作副本同时进行的任何活动都可能会导致问题。如果分区的大小完全相同,那么它就可以工作。否则,您可能会覆盖以下分区。创建它们时仔细检查尺寸。
再次确保在进行复制之前卸载分区。