从 Linux 启动盘映像和压缩 NTFS 分区

从 Linux 启动盘映像和压缩 NTFS 分区

首先这个问题是不是重复项:

https://superuser.com/questions/7739/windows-backup-by-imaging

我以前广泛使用过 Norton Ghost(实际上在 Norton 购买它之前我就已经在使用 Ghost 了),我喜欢它的一个特点是它可以压缩 Windows 分区,这样你就可以拍摄相对较小的 Windows 系统快照/图像。

我在 Windows 95/98/ME、XP 和 2000 时代做过很多映像。但如今我倾向于只在虚拟机中运行 Windows(主要是在 KVM 下)。这些虚拟 Windows,我可以毫无问题地进行映像,然后复制/删除/编辑/等这些映像。

但我现在的需求不同了,这是真正的超级用户的问题:我想要想象并压缩,来自 Linux 启动 CD,Windows 计算机的 Windows NTFS 分区。

我不介意为自己创建带有所需应用程序的 Linux 启动 CD...但是那会是哪个应用程序以及我该如何使用它?

答案1

有几种方法可以拍摄分区图像,包括绝对基本的catdd。它们的优点是几乎默认存在到处在类 unix 世界中,两者都可以通过 gzip 或类似方式传递,如下所示:

cat /dev/sda1 | gzip -c > /some/directory/sda1.img.gz

甚至是整个磁盘:

cat /dev/sda | gzip -c > /some/directory/sda.img.gz

这些选项与文件系统无关,因此不会忽略未使用的块(可能仍包含旧数据),因此为了提高压缩率,在某些情况下,可以使用删除Windows 中的实用程序将所有分区的可用空间清零,如下所示:

sdelete -v c:

或者,如果您非常信任 Linux NFTS 设置,您可以挂载分区并运行cat /dev/zero > /mnt/ntfs/zero.file ; rm zero.file(我更愿意保持警惕,因为 NTFS 格式没有完全公开记录,所以可能会有它不知道它不能很好处理的事情)。

您可以cat像这样从上面的示例中删除:

gzip -c < /dev/sda1 > /some/directory/sda1.img.gz

并且它的 CPU 效率会更高一些,但我怀疑效率差异是否会很显著,除非你有一个非常低功耗的处理器,而且我更喜欢使用该方法,因为cat命令从左到右“流动”得更好。

您也可以catpv(替换管道查看器) 如果您已经安装了它,那么可以获得可能很长的操作的有用进度显示。

答案2

您可以使用ntfs克隆,这是一款专为此目的而设计的 Linux 工具。您可以通过将连字符传递给开关将输出直接传送到 stdout -o

例如,如果你想要使用/dev/sda1gzip 压缩的图像,你可以使用这个命令:

ntfsclone -s -o - /dev/sda1 | gzip -c > /output/location.img.gz

如果你想要更多的压缩并且有时间,我建议使用西泽方法改为:

ntfsclone -s -o - /dev/sda1 | xz -cv > /output/location.img.xz

这两者都将对您的 NTFS 分区进行映像和压缩,同时忽略未使用的磁盘空间。

干杯!


编辑ntfs克隆如果默认情况下不包含该实用程序,则可以使用其包管理器轻松安装在大多数支持网络的发行版上。如果您在特定发行版的软件管理器中找不到该实用程序,则它可能是ntfsprogs或者ntfs-3g实用程序。您还可以参考此链接以获取更多克隆信息。

答案3

我建议(Partimage 不是鬼魂)。

它是一个实时的 Linux ISO,它允许您使用 gzip 或 bzip2 压缩分区。

答案4

你应该看看克隆兹拉。我知道它允许将磁盘映像存档,并且我怀疑通过一些调整您也可以使它压缩它们。

clonezilla Live CD 将引导您完成映像过程,并在完成后为您提供命令行。您应该能够使用它并修改启动脚本以将其构建到您需要的工具中。

相关内容