問題:コンパクト フラッシュの正確なイメージを作成し、そのコンパクト フラッシュ イメージを圧縮して保存しやすくしようとしています。コンパクト フラッシュはいっぱいではありません (使用容量約 1.5 GB、サイズ 32 GB)。問題は、抽出したイメージを圧縮すると、うまく圧縮されないことですが、その理由はわかりません。
複数の圧縮方法を試しましたが、いずれも 50% 以上の圧縮率には至りませんでした。CF の約 30 GB を埋めるゼロは非常によく圧縮され、結果のファイルは約 1.5 GB (またはそれ以上) になると思われます。
何が間違っているのでしょうか? 何を見落としているのでしょうか?
アプローチ
- CF をゼロにする: dd if=/dev/zero of=/dev/sdb bs=1M
- パーティション、フォーマット、ファイル、データなどをインストールします(約 1.5 GB 使用)
- CF のイメージを作成します: dd if=/dev/sdb of=cf.img
- CF を圧縮します (gzip、bzip2、lzma などを使用)
ノート
- Windows 7 ボックスに接続された USB メディア リーダーを使用して CF をゼロにしています。USB デバイスは、Linux を実行している仮想マシンに接続されています。
答え1
自分自身の質問に答えていますが、なぜそうなるのかはわかりません。
試してみたdバンISO を仮想マシンとして起動し、「ワイプ」(ゼロ書き込み) オプションを使用しました。 1 回のパス。 その後、前に説明したのと同じ手順を実行しました。 圧縮は大幅に改善されました。 圧縮されたイメージは 100 MB 未満でした。
今推測できるのは、dd を使用しているときに、/dev/zero が何かおかしな出力をしていたか、コンパクト フラッシュに正しく書き込まれていなかったということだけです。