使用“dd”捕获并恢复失败?

使用“dd”捕获并恢复失败?

问题描述:

我用dd来捕捉这样的两个本地虚拟机分区...使用“dd”捕获并恢复失败?

# dd if=/dev/sda1 | gzip >mySda1.gz 
# dd if=/dev/sda2 | gzip >mySda2.gz 

然后接上足够大小的两卷到一个已经运行的实例并安装它们(为/ mnt /之一,到/ mnt /二),然后复制.gz文件解到实例,并使用这些命令来恢复分区

# gunzip –c mySda1.gz | dd of=/dev/xvdk 
# gunzip –c mySda2.gz | dd of=/dev/xvdl 

gunzip命令不显示故障,但是当我然后去到/ mnt /一个问题命令LS -a没有什么。为什么是这样? .gz文件非常大。为什么挂载的分区显示为空白,即使gunzip命令完成?

+1

只是为了确认:你卸载了'/ dev/xvdk'和'/ dev/xvdkl',写在它们上面,成功地重装了它们,但仍然没有发现任何东西?或者在覆盖它们之前忘记卸下分区?后者会造成严重的混乱,只会混淆Linux内核。 – davidg 2013-03-14 03:34:25

+0

没问题---我会将评论转换为答案。 – davidg 2013-03-14 06:57:59

在您可以直接写入分区之前,您必须先确保它已被卸载。

Linux不会注意到你是否直接写入后面的磁盘(更重要的是,会认为这不会发生 - 如果尝试修改已挂载的文件系统,它可能会变得非常混乱)。

所以,正确的程序是如下:

umount /dev/xvdk 
gunzip –c mySda1.gz | dd of=/dev/xvdk 
mount /dev/xvdk 
/dev/xvdl

又一遍。