问题:我正在尝试创建一个紧凑型闪存的精确映像,然后压缩该紧凑型闪存映像以便于存储。紧凑型闪存未满(已使用约 1.5GB,大小为 32GB)。问题是,当我压缩提取的映像时,压缩效果不佳,我不确定原因。
我尝试了多种压缩方法,但压缩率都不超过 50%。我认为填充 CF 约 30GB 的零会压缩得很好,生成的文件大小约为 1.5GB(或更小)。
我做错了什么?我忽略了什么?
方法
- 将 CF 归零:dd if=/dev/zero of=/dev/sdb bs=1M
- 分区、格式化、安装文件、数据等(约使用 1.5GB)
- 创建 CF 映像:dd if=/dev/sdb of=cf.img
- 压缩 CF(使用 gzip、bzip2、lzma 等等……)
笔记
- 我正在使用连接到 Windows 7 盒子的 USB 媒体读取器将 CF 归零。USB 设备连接到运行 Linux 的虚拟机。
答案1
回答我自己的问题,但不确定为什么会这样。
我试过了德班。将 ISO 作为虚拟机启动,并使用“擦除”(写入零)选项。单次通过。之后按照前面概述的步骤进行操作。压缩效果好了很多。我的压缩图像不到 100MB。
我现在唯一能猜测的是,当使用 dd 时,/dev/zero 输出了一些奇怪的内容,或者它没有被正确写入紧凑型闪存。