Windows標準コマンドを使ってHDDの完全消去を試してみた記録。
結論
1TB以上のHDDに対して3回書き込みによる消去方法は時間がかかりすぎる(単純計算して、3TBで約1日)。
また、よく参考にされる NIST(米国国立標準技術研究所) のガイドラインにおいては、
2001年以降に製造されたATAディスクドライブ(15GB超)では、キーボード攻撃と実験環境室のどちらから媒体を保護するにも、媒体を一回上書きすることによる消去で十分である。
と記載されている。
よって、次のような1回書き込みによる消去を行うことを推奨。
-
diskpart
でclean all
- オール0を1回書き込み
- HDD/SSDに組み込まれている Secure Erase機能 を利用
- SSD はこちらの機能を使用する
以下の文章は3回書き込みによる完全消去やってみたになります。
なので、読む価値はほぼないです……。
HDDを完全消去したい
HDDを廃棄する際に困るのがデータの消去方法。
Windows標準コマンドの cipher
を使えば米国防総省の定めている基準(3回書き込み)で完全消去(ワイプ)できるらしい。
cipher
ではいくつかの制限があるため、次のような手順で進める。
- HDDのパーティションを初期化
- HDDまるごと1つのパーティションに
- NTFS ファイルシステムでフォーマット
-
cipher
でワイプ
詳細な手順
-
廃棄するHDDのパーティションを初期化
保護されたパーティションが残ったりしないように
diskpart
で初期化する。-
diskpart
を管理者権限で起動 -
list disk
で対象のディスク番号を確認 -
select disk <NUM>
で選択 -
clean
でパーティション初期化
-
-
廃棄するHDDすべてを使う1つのパーティションを作成
-
create partition primary
でパーティション作成
-
-
廃棄するHDDをフォーマット
ファイルシステムを NTFS にする
-
list volume
でボリューム番号を確認 -
select volume <NUM>
で選択 -
format fs=ntfs quick
でクイックフォーマット
以上で
diskpart
上の操作は終了なのでexit
-
-
コマンドプロンプトなどで
cipher /w:<ドライブ文字>:
コマンドを実行対象が
Zドライブ
の場合cmd(管理者権限)cipher /w:z:
時間計測したい場合は
powershell
上でMeasure-Command
を用いる。
自分の環境では以下のような結果となった。powershell(管理者権限)$ (Measure-Command {cmd.exe /c "cipher /w:z:"}).TotalMinutes 238.136201376667
IF Capacity Time USB3.0 500GB 約4時間