HDD・SSDなどを処分する場合は、物理的にドリルで破壊するか、データを完全消去してから処分しましょう。
データを完全消去するには、データ領域をゼロフィルする必要があります。
ゼロフィルとは、ストレージの全セクタに0(ゼロ)を書き込むことです。
Microsoftは、ゼロフィルを行うことができるSDelete(Secure file delete)というコマンドラインユーティリティを提供しています。
SDeleteを使ってデータの完全消去をやってみました。
なお、今回のバージョンは以下です。
- Windows 10 Pro(64bit) 1909
- SDelete v2.02
Microsoft SDeleteのダウンロード
まずは、Windows SysinternalsでSDeleteをダウンロードします。
ダウンロードしたら適当な場所に配置します。
コマンドラインツールなので、インストールなしで利用できます。
Microsoft SDeleteの使い方
SDeleteの構文は、以下のようになっています。
sdelete [-p passes] [-s] [-q] [ファイル/ディレクトリ] … sdelete [-p 回数] [-z|-c] [ドライブ文字] …
SDeleteのパラメータはこちらです。
- -a … 読み取り専用の属性を削除
- -c … 空き領域から不要なものを除去
- -p 回数 … 上書きの回数を指定(既定値は1)
- -q … エラーを出力しない
- -s または -r … サブディレクトリを再帰処理
- -z … 空き領域に0を埋める
ゼロフィルするには、「-z」オプションを付けます。
Microsoft SDeleteでゼロフィル・データ完全消去
では、SDeleteでゼロフィル・データ完全消去をやってみます。
今回は、32GBのUSBメモリを使用しました。
SDelete実行前はデータ復元可
その前に、中身の確認をしてみます。
すでにフォーマット済みですが、EaseUS Data Recovery Wizardを使用してデータ復元を行います。
EaseUS Data Recovery Wizardは、誤って削除したファイルやディスク障害発生時にデータ復元ができるソフトです。
早速スキャンを行ってみると、多くのファイルが見つかりました。
このようにフォーマットだけでは簡単にデータ復元できるので、データ完全消去が必要です。
SDeleteの実行手順
では、以下のコマンドでSDeleteを実行します。
- sdelete.exe
- sdelete64.exe
という2つのファイルがあるので、OSのbitに合った64bitの方を使用しました。
初回実行時には同意を求められます。
1 2 3 4 5 6 7 8 9 | > sdelete64.exe -p 3 -z F: SDelete v2.02 - Secure file delete Copyright (C) 1999-2018 Mark Russinovich Sysinternals - www.sysinternals.com SDelete is set for 3 passes. Free space cleaned on F:\ 1 drive cleaned. |
SDelete実行後はデータ復元不可
ゼロフィルが完了したので、再度EaseUS Data Recovery Wizardでスキャンしてみます。
今度は古いファイルなどは検出されず、SDeleteによって作成されたファイルのみでした。
これでデータ完全消去が完了です。
バッチファイル(bat)で開始・終了時刻を出力
SDeleteを単体で実行すると、処理の経過時間が表示されずにわかりにくかったです。
そこで、バッチファイル(bat)からSDeleteを呼び出して、開始・終了時刻を出力するようにします。
SDeleteの同一フォルダ内に、以下のstart.batというファイルを作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | @echo off echo 開始時刻 %date% %time% if "%PROCESSOR_ARCHITECTURE%" equ "x86" set SETUPFILE=sdelete.exe if "%PROCESSOR_ARCHITECTURE%" equ "AMD64" set SETUPFILE=sdelete64.exe if NOT EXIST "%SETUPFILE%" echo bit判定不可のため終了 & goto : END "%SETUPFILE%" -p 3 -z F: : END echo 終了時刻 %date% %time% pause |
こちらをダブルクリックで実行すれば、開始・終了時刻が出力されるので、処理にどれぐらい時間がかかっているか多少はわかりやすくなるかと思います。
USB2.0接続の1TBの外付けHDDで実行した結果はこちらです。
1 2 3 4 5 6 7 8 9 10 11 | 開始時刻 2020/03/10 火 22:44:43.64 SDelete v2.02 - Secure file delete Copyright (C) 1999-2018 Mark Russinovich Sysinternals - www.sysinternals.com SDelete is set for 3 passes. Free space cleaned on F:\ 1 drive cleaned. 終了時刻 2020/03/12 木 11:41:43.46 続行するには何かキーを押してください . . . |
約37時間かかりました。。
最後に
今回は、Microsoftのコマンドラインユーティリティ SDeleteの使い方を紹介しました。
最近は企業で使用していたPCを処分後にHDDからデータ流出というニュースもよく見ます。
HDD・SSDなどを処分する前には、データを完全消去しましょう。
コメント