DD和驱动器成像

当您使用dd映像驱动器时,通常会得到与驱动器大小相同的映像。 您可以压缩图像,但这实际上取决于它们在驱动器上有多less个连续的null或零。 我的问题是,是否存在另一种工具来形象的驱动器的关键块。 比如新安装的操作系统,是否可以只复制到新的操作系统所使用的最后一个块?

而我知道dd不具备这样的能力,这样做是否已经存在,如果它确实那么应用程序使用dd。

对于Windows盒子的快速而脏的映像分类,我启动一个SystemRescueCD,然后执行以下脚本(位于挂载在/ mnt / backup上的外部USB备份驱动器上):

#!/bin/bash PCNAME=foobar # or passed in on command line if you prefer fdisk -l /dev/sda >./${PCNAME}-fdisk-l.txt dd if=/dev/sda of=./${PCNAME}-mbr.bin bs=512 count=1 dd if=/dev/sda1 of=./${PCNAME}-p1-diag.bin bs=23040 ntfsclone -s -o - /dev/sda2 | gzip -c | split -b 638m - ./${PCNAME}-p2-win.img.gz. # end 

哦,外部驱动器通常是格式化的NTFS,挂载“-t ntfs-3g”。

是的,我很确定它存在。 CloneZilla使用dd,只保存使用的扇区。 阅读那里的论坛,你应该find它的提及。 否则下载并阅读他们的脚本的代码。

你也可以检查partimage 。

从PDQ驱动器映像用来能够“理解”文件系统,因此它只需要存储使用的字节,即使其余的地方不是零。 鉴于它被另一家公司收购,变成了鬼。 维基百科下面的表格显示了许多不同文件系统的“智能复制”系统。

您不应该从驱动器创build映像,而是对文件系统进行备份。 以转储为例。 它只会复制文件系统中使用的块。 dd不知道任何关于'used'和'free'的信息。

我不确定你想像dd(1)这样的成像程序和tar(1)以及你select的压缩工具一样多。 你能给我们一些关于你真正想要做什么的细节吗?

基本上,你需要一个理解文件系统的工具,只保存使用的块。 这是一件好事,但我喜欢有一个驱动器的完整形象(因为我偏执狂)。 为了做到这一点,并尽量减less压缩图像所需的空间,我使用(在我想要的Windows系统上) SysInternals'sdelete '将零写入未使用的扇区。 这样图像就像可以压缩一样,但仍然是一个图像。