Sysinternals: SDelete (ja-JP)
概要
SDelete (Secure Delete) は、ファイルやフォルダーの削除や、HDD の未割り当て領域の削除を行うために利用できる、Windows Sysinternals ツールのうちの 1 つです。SDelete は、コマンドラインのツールであるため、コマンドプロンプトなどから利用することができます。
利用方法
sdelete.exe [-p パス回数 ] [-s] [-q] ファイルもしくはフォルダー ...
sdelete.exe [-p パス回数 ] [-z|-c] [ ドライブ レター ] ...
パラメーター
パラメーター | 説明 |
---|---|
-a | 読み取り専用属性の付いたファイルは属性を外して削除 |
-c | 空き領域の消去 |
-p パス回数 | 上書き回数の指定 ( 既定値は 1 回 ) |
-q | エラーの画面非表示化 |
-r | -s と同じ |
-s | サブ フォルダーへの再帰処理 |
-z | 空き領域のゼロ埋め (zero-fill) 消去 ( 仮想ディスクの最適化に良い ) |
ファイルやフォルダーの削除
SDelete では、同様にファイルやフォルダーの削除を行う DEL (ERASE) コマンドに比較して安全にデータを削除することができます。
通常、Windows でファイルを削除しても、HDD や仮想メモリから実際のデータは削除されません。その領域を再利用して新しいデータを作成しようとする際に、ゼロ埋め (zero-fill) されます。この仕様は、OS が起動していない状態でデータをサルベージするようなツールを利用されることを想定した場合には、安全とは言えないかもしれません。EFS (Encrypting File System) による暗号化した場合でも、暗号化前のデータは HDD に残っているため、同様に安全とは言えないでしょう。
データをサルベージされないよう安全に削除したい場合に SDelete は有効な手段です。SDelete では、米国の国防総省が定めた削除と消去についての規格である 5220.22-M に則った削除方法を実装しています。
利用例
カレント フォルダーの file.txt ファイルを削除する
sdelete.exe file.txt
カレント フォルダーの全てのテキスト ファイルを 3 回上書きして削除する
sdelete.exe -p 3 *.txt
C:\example 以下の全ての .docx ファイルを削除し、エラー内容を出力しない
sdelete.exe -s -q C:\example\.docx
カレント フォルダーの全ファイルを、読み取り専用属性を外して削除する
sdelete.exe -a *
C:\example フォルダーを削除する
sdelete.exe C:\example
未割り当て領域のクリーンアップ
SDelete では、HDD の未割り当て領域を安全に消去することもできます。HDD を廃棄する前にデータを確実に消去しておきたい場合などで有効です。同じ用途で利用できるコマンドとして、CIPHER コマンド (CIPHER /W) があります。
利用例
D: ドライブの空き領域を消去する
sdelete.exe -c D:
D: ドライブの空き領域をゼロ埋め (zero-fill) するように消去する
sdelete.exe -z D:
D: ドライブの空き領域を 3 回上書きして消去する
sdelete -p 3 -c D: