MicrosoftのSDeleteでHDD・SSDのゼロフィル・データ完全消去手順

SDeleteハードウェア
この記事は約5分で読めます。

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は、誤って削除したファイルやディスク障害発生時にデータ復元ができるソフトです。

Microsoft SDeleteでデータ完全消去前(EaseUS Data Recovery Wizardで確認)

早速スキャンを行ってみると、多くのファイルが見つかりました。

このようにフォーマットだけでは簡単にデータ復元できるので、データ完全消去が必要です。

SDeleteの実行手順

では、以下のコマンドでSDeleteを実行します。

  • sdelete.exe
  • sdelete64.exe

という2つのファイルがあるので、OSのbitに合った64bitの方を使用しました。

Microsoft SDelete

初回実行時には同意を求められます。

> 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.

上書き回数は3回としていますが、これで米国防総省の規格に準拠することになります。

SDelete実行後はデータ復元不可

ゼロフィルが完了したので、再度EaseUS Data Recovery Wizardでスキャンしてみます。

Microsoft SDeleteでデータ完全消去後(EaseUS Data Recovery Wizardで確認)

今度は古いファイルなどは検出されず、SDeleteによって作成されたファイルのみでした。

これでデータ完全消去が完了です。

バッチファイル(bat)で開始・終了時刻を出力

SDeleteを単体で実行すると、処理の経過時間が表示されずにわかりにくかったです。

そこで、バッチファイル(bat)からSDeleteを呼び出して、開始・終了時刻を出力するようにします。

SDeleteの同一フォルダ内に、以下のstart.batというファイルを作成しました。

@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で実行した結果はこちらです。

開始時刻 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などを処分する前には、データを完全消去しましょう。

ハードウェア
\よかったらシェアしてね/
えふめん

大阪在住、30代。
業務系SE・社内SEの仕事を通じて学んだこと、PCトラブルで困って調べたこと、手作業を効率化して改善したこと、WordPressのブログ運営などの記事を書いています。

えふめんをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

タイトルとURLをコピーしました