この記事 からVDIファイルを圧縮するステップとして sdelete を使用することから学んだ:
sdelete -c c:
しかし、-c
(ヘルプテキストで説明されている「クリーンな空き領域」)はどういう意味ですか?空き容量をゼロで書きませんか?そして、-z
(ゼロ空きスペース)はどうですか? sdelete -cと-zの違いは何ですか?
前述の article の手順を試しましたが、.vid
ファイルのサイズを縮小できませんでした。次に このスーパーユーザーの投稿 に従い、オプション-c
を-z
に変更して成功しました。
したがって、-z
は空き領域にゼロを書き込み、-c
は何か他のものを書き込むように見えます(ランダムビットの可能性があります)。
これはよくある間違いだと思います。 -zオプションは以前のバージョンでは使用できなかった可能性があります。 SDelete 1.61言う
-z Zero free space (good for virtual disk optimization)
これを行うと、最初にハードディスクがフルサイズに拡張されます。 VMWareによる縮小プロセスでのみ、再び小さくなります。
私のマシンでの簡単なテスト:
-z took 1:01 minutes
-c took 2:11 minutes
これは、-zが単純なゼロのみを書き込むのに対し、-cは 軍事標準ワイピングSDelete Webサイト に記載されているDoD 5220.22-Mであることを示しています。
現在のドキュメント(およびプログラムバージョン2.01):
-c
:空き領域をクリーンアップします。実行中のシステムで使用できるように、空き容量をオプションで指定します。-z
:空き容量がゼロ(仮想ディスクの最適化に適しています)。-c
:空き容量がゼロ(仮想ディスクの最適化に適しています)。-z
:空き領域をクリーンアップします。Cleanは可能な最大のファイルを作成し、randomデータで埋めます、次にゼロで埋めます。これはほとんどの人がwipingと考えていることであり、やり過ぎです。
欠点は、仮想ディスクを使用している場合、仮想マシン内で使用している場合、または仮想マシンをストレージスペースで実行している場合です。基盤となるストレージシステムは、ランダムデータを保持するためにリソースを割り当て、ゼロを保持することを強制されます。うまくいけば、基盤となるストレージシステムは、ドライブに割り当てられたすべてのスペースが再利用できることを認識します。これは、これらのすべてのセクターに単にゼロが含まれるためです。
-zゼロ:すべてのセクターにゼロを書き込むだけです。これは、多くの理由で、必要なオプションです。
Source:仮想ハードディスクをマウントし、sdeleteが両方のモードで実行したI/O操作を監視しました。
tl; dr:-z Zeroを使用します。より速く、より良く、より安全です。
これはトーマスの回答へのコメントとしてより適切に投稿されるべきでしたが、まだそれができないので、私はここに投稿します。
「-z」オプションと「-c」オプションを混同することは、おそらく「よくある間違い」です。SDeleteは長年にわたって、これらのオプションの動作を変更してきたためです。以下の参照を見ると、SDeleteには最初に「軍事標準ワイプ」を実行する「-z」オプションがあり、次に空き領域をゼロにする「-c」オプションが追加され、その後v1.51とv1の間のどこかにあるようです。 61はその動作を現在の動作に切り替えました。
参照: sysinternals.comフォーラム および Microsoft TechNetの古いSDeleteホームページ archive.org経由。