俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

Microsoftの「SDelete」を使用して、HDD・SSDの処分前にデータ完全消去

      2018/09/28

新しいHDD・SSDに入れ替えて古いものを処分する場合、データ領域をゼロ埋め(ゼロフィル)するなどして、データ復元ができないように完全消去してから処分することが望ましい。

そのゼロ埋め(ゼロフィル)する方法だが、Microsoftから無償のソフトウェア「SDelete」というものが提供されているらしい。

ということで、「SDelete」を使ってみた。

なお、今回のバージョンは以下です。

  • Windows 10 Home(64bit)
  • SDelete v2.01

スポンサード リンク

「SDelete」のダウンロード

まずは、Windows Sysinternalsより、「SDelete」をダウンロードする。

ダウンロードしたら適当な場所に配置。
コマンドラインツールで、インストールなしで利用できる。

「SDelete」の使い方

構文はこちら。

パラメータはこちら。

  • -a:読み取り専用の属性を削除します。
  • -c:空き領域から不要なものを除去します。
  • -p <回数>:上書きの回数を指定します (既定値は 1 です)。
  • -q:エラーを出力しないようにします (Quiet モードで実行します)。
  • -s または -r:サブディレクトリを再起処理します。
  • -z:空き領域に 0 を設定します (仮想ディスクの最適化に適しています)。

「SDelete」を使ってみる

今回は、8GBのUSBフラッシュメモリを使用してやってみる。

その前に、中身の確認。

すでにフォーマット済みだが、EaseUS Data Recovery Wizard Freeを使用してディープスキャンを行ってみる。
このソフトは、誤ってファイルを削除したときやディスク障害が発生したときにデータの復元ができるといったもの。
早速ディープスキャンを行うと、多くのファイルが見つかった。

Microsoft SDelete

では、以下のコマンドで実行する。
「sdelete.exe」と「sdelete64.exe」というファイルがあったので、64bitの方を使用してみた。
上書き回数は3回としているが、これで米国防総省の規格に準拠することになる。

完了したので、再度ディープスキャンしてみる。

今度は、古いファイルなどはスキャンできず、SDeleteによって作成されたもののみであった。

Microsoft SDelete

batファイルから呼び出し、開始・終了時刻を出力

最後に、処理の経過時間が表示されずにわかりにくかったので、batファイルからSDeleteを呼び出して、開始・終了時刻を出力する。

SDeleteの同一フォルダ内に、以下の内容のstart.batというファイルを作成してみた。
こちらをダブルクリックで実行すれば、開始・終了時刻が出力されるので、処理にどれぐらい時間がかかっているか多少はわかりやすくなるかと。

実際の実行結果はこちら。
USB2.0接続の1TBの外付けHDDで実施したところ、約37時間かかった。。

ということで、HDD・SSDなどを処分する前に完全消去しよう。

以上。

 - Windows, ハードウェア