Windowsでファイルの完全消去や空き領域のデータ抹消(復元防止)によく使われる cipher コマンド。
「ゼロ埋めだけにしたい」「1回だけの上書きで済ませたい」と、書き込むデータの種類や回数を変更(指定)できるのか気になる方も多いのではないでしょうか。結論と代替案を分かりやすく解説します。
結論:cipherコマンドで書き込みの種類や回数は「指定できない」
残念ながら、Windows標準の cipher コマンド(cipher /w オプション)には、ユーザーが上書き用のデータパターン(ゼロ、乱数など)や上書き回数を自由に指定・変更する機能はありません。
cipher /w で実行される固定の書き込みパターン
cipher /w:ドライブ文字またはフォルダパス を実行すると、仕様としてあらかじめ決められた以下の3ステップ(計3回)の上書き処理が必ず順番に実行されます。
-
0x00(すべてのビットを0) で空き領域を上書き
-
0xFF(すべてのビットを1) で空き領域を上書き
-
乱数(ランダムな数値) で空き領域を上書き
特定のデータパターンだけを選んだり、上書きを「1回だけ」に減らして処理時間を短縮したりすることはできません。
書き込みパターンや回数を自由に変えたい場合の代替ツール
処理時間を短縮するために「1回だけのゼロ埋めにしたい」場合や、米国国防総省規格などの特定の基準に合わせて消去したい場合は、以下のツールを使用するのがおすすめです。
-
Microsoft公式 Sysinternals「SDelete」を使う(コマンドライン) Microsoftが無料で提供している開発者向けツール
SDeleteを使うと、上書き回数を自由に指定できます。-
例:
sdelete -p 1 -z C:(Cドライブの空き領域を「1回だけ」乱数で上書きして高速消去)
-
-
専用のデータ消去ソフトを使う 「Eraser」や「DBAN」などの専用ソフトを使用すると、DoD 5220.22-M(米国国防総省方式)やグトマン方式など、高度な書き込みアルゴリズムを自由に選択できます。
まとめ
-
cipher /w:設定変更は不可。「0埋め・1埋め・乱数」の3回上書きで固定。 -
回数や種類を変えたい場合:Microsoft公式の
SDeleteやサードパーティ製ツールを活用する。
自動で3回上書きされる cipher コマンドは安全性が高い反面、大容量ドライブでは完了までかなりの時間がかかります。用途や時間に合わせたツール選びの参考にしてみてください。

