![紧凑型闪存映像压缩性较差,即使填充了 0 也是如此](https://linux22.com/image/1344904/%E7%B4%A7%E5%87%91%E5%9E%8B%E9%97%AA%E5%AD%98%E6%98%A0%E5%83%8F%E5%8E%8B%E7%BC%A9%E6%80%A7%E8%BE%83%E5%B7%AE%EF%BC%8C%E5%8D%B3%E4%BD%BF%E5%A1%AB%E5%85%85%E4%BA%86%200%20%E4%B9%9F%E6%98%AF%E5%A6%82%E6%AD%A4.png)
问题:我正在尝试创建一个紧凑型闪存的精确映像,然后压缩该紧凑型闪存映像以便于存储。紧凑型闪存未满(已使用约 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 输出了一些奇怪的内容,或者它没有被正确写入紧凑型闪存。