ほんの少しのデータしか含まれていない非常に大きなファイルを圧縮する方法

ほんの少しのデータしか含まれていない非常に大きなファイルを圧縮する方法

250GBのSSDを購入し、フルフォーマットしてWin10をインストールし、ddLinux ターミナルでコマンドを実行して、SSD が壊れた場合に備えてバックアップを作成しました。これで、次のような約 250 GB のディスク イメージ ファイルが作成されました。

| --- some data (approx. 17 GB) --- | ------ no data at all, only nulls ------ |

私はファイルを圧縮し始めましたジップそして期待したのはジップ私に教えてくれるほど賢い。ジップ約17GBのサイズですが、何時間も圧縮して。ジップすでに 50 GB を超えたため、プロセスを中断し、別の方法があるかどうかを尋ねるためにここに来ました。

答え1

ドライブの空き領域にはヌル文字しか入っていませんか?削除されたゴミがたくさんあるはずです。配布パッケージの中身は間違いなく圧縮されて保存されていました。インストールのために解凍され、その後ファイルがコピーしましたターゲットにインストールすると、完了時にすべての一時的なジャンクが削除されます。したがって、削除されたデータは、インストール サイズ (スワップ ファイルによって占有されるスペース) と少なくとも同じ大きさになると考えられます。

さらに、圧縮率の高いデータの場合、本当にひどいケースではアーカイブを圧縮するとさらに小さくなることがわかりました。ほとんどの圧縮プログラムには辞書項目の最大長があり、ファイル内の冗長性がこの長さを大幅に超えると (問題があなたが考えている通りであればそうなるでしょう)、辞書エントリのコードが圧縮されることになります。(また、多数の小さなファイルを含むアーカイブを圧縮すると、ファイルはそれ以上圧縮されませんでしたが、ハウスキーピング データは圧縮されたという、小さなメリットも見られました。)

そうは言っても、ここで必要なのは、パーティションをコピーし、コピーしたパーティションをできるだけ小さく縮小し (可能であれば、スワップ ファイルと休止状態ファイルを削除)、結果に対して行った操作を実行することです。

答え2

ディスク上の空きスペースには 0 だけ、または完全に一貫性のあるデータしか含まれていないと想定することはできません。ファイルを削除しても、そのファイルが占めていたディスク領域に 0 が自動的に書き込まれるわけではなく、そのデータへのポインタが無効としてマークされ、そのスペースにデータを書き込む必要がある他の何かが待機するだけです。その間、そこにあったデータは技術的にはまだ存在しますが、アクセスするのがより困難になります。

また、新しいディスクがゼロにリセットされると想定することもできません。製造およびテスト手順によるデータが完全にランダムなゴミである可能性も十分にあります。

どうしてもこの方法でディスク イメージを生成する必要がある場合は、まずその空き領域を一貫性のあるデータで埋める必要があります。

Windowsでは、削除するディスクを適切にゼロフィルするオプションもあります:sdelete -z

大容量ディスクの場合、この処理には非常に時間がかかり、ディスクのサイズによっては数時間から数日かかることもあります。

より賢明な選択肢は、ディスク形式を理解し、実際に保存する必要があるデータのみを保存し、ディスク上の「空白」領域を無視するツールを使用することです。

  • マクリウムリフレクト
  • クローンジラ
  • アクロニス トゥルーイメージ

これらはほんの一部ですが、他にもディスク イメージング ソフトウェアはたくさんあります。

関連情報