从没有可用空间的硬盘创建映像(linux)

M.R*_*aei 5 linux image

我想在linux(ex3类型)中从没有可用空间(无用空间)的硬盘创建图像。

我曾尝试使用dd命令创建图像,但此命令为我们提供了硬盘的总大小。

我需要这个没有可用空间的硬盘上的数据。

多谢。

jac*_*kem 6

一种选择是将文件系统映像创建为稀疏文件。您可以首先在 ext3 文件系统上运行诸如zerofree 之类的实用程序,以确保所有空闲块都填充为零,然后只需使用该选项对磁盘进行dd映像并通过管道传输该映像以强制它创建一个稀疏文件:cp--sparse=always

dd if=/dev/whatever | cp --sparse=always /dev/stdin disk.image
Run Code Online (Sandbox Code Playgroud)

  • 我之前实际上没有做过类似的事情,但在发布之前我确实使用虚拟 ext3 文件系统映像测试了这个想法,并且它似乎有效。如果“dd”有创建稀疏文件的选项,则不需要“cp”技巧。显然这样的选项是几年前提出的,但由于手册页没有提及它,我认为该补丁未被接受:http://www.mail-archive.com/bug-coreutils@gnu.org/ msg11795.html (2认同)

and*_*dol 5

听起来Partimage可能就是您要找的东西?

  • 对于与文件系统无关的解决方案,您可以使用 null 填充文件系统(“dd if=/dev/zero of=/some/file ; rm /some/file”),然后使用 dd 的“conv=sparse”选项。缺点是: 1)这比了解文件系统的工具效率低;2)据我所知,使用 dd 默认 512 字节块大小以外的任何内容都会导致此方法不起作用(或者至少会错过足够的稀疏空间而变得无用),这将大大增加 dd 的时间做好它的工作。 (2认同)