[自分用メモ] Windows標準コマンドでHDDを消去する方法+α

しょっちゅうやっていてコマンドをど忘れする事があるので、手順を含めてディスク消去する方法を記録しておきます。

  1. HDDフォーマット(NTFS)からcipheコマンドで消去
  2. fsutil で無駄ファイル(0データ)作成
  3. +α として、RandomChars でランダムデータをひたすら書き込む

消去対象となるHDDは必ずNTFSフォーマット

これは説明の必要はありませんね。普通にNTFSフォーマットしてください。クイックフォーマットで構いません。cipherコマンドはNTFSのみ対応しています。

そうしたら、管理者権限でコマンドプロンプトを起動します。コマンドプロンプトで右クリックして「管理者として実行」としてください。起動したら、以下のコマンドを実行します。

この例では Fドライブを消去しています。

c:\windows> cipher /w:f:
できるだけ多くのデータを削除するために、CIPHER /W の実行中
はほかのアプリケーションをすべて終了してください。
0x00 に書き込み中
.......

こんな感じで消去が進みます。0x00,0xFF,乱数と三段階でデータを書いていくのでとても安心です。

そのあとは…

データは空のままなので、このまま廃棄しても問題無いのですが念には念を入れて自分はゴミデータをHDD満杯に入れてから破棄に回します。廃棄はプレス式なので二度と復元できないはずですが、個人情報が含まれている可能性があるのでHDDは念には念を入れて消すようにしています。

そこで利用するのは、fsutil です。これは空ファイルを大量に作成してくれます。まず、バッチファイルを作成します。例ではFドライブを対象としています。

c:\windows> cd f:\
f:\> echo for /L %%n in (1,1,100000) do fsutil file createnew %%n 104857600 > erase.bat
f:\> erase.bat

まず最初のコマンドで対象のドライブへ移動します。次に、fsutil をぶん回す為のバッチファイルを作成します。例だと100MBのファイルを10万個作るようにしています。細かなファイルを大量に書いた方が復元の難易度が跳ね上がるからです。これでディスクを満杯まで埋めてください。

明らかに危険なHDDを廃棄したい時には…

この cipher と fsutil で大半のデータは復旧できないはずです。自分もセクタ単位で解析できるツールを回しましたが、無理でした。それでも信用ならない!!という方には有効なツールをご案内します。

ランダム文字列ファイル大量生成ツール
RandomChars

これを回します。これはGUIなのでそのままやってもいいのですが、自分はものぐさなのでバッチファイルから呼び出して実行するようにしました。

例ではGドライブを対象としています。(オプションの関係でFドライブだとわかりにくい為)

まずダウンロードしたRandomChars.exeを解凍してGドライブへコピーしておいてください。

c:\windows> cd f:\
f:\> echo RandomChars.exe /F:G:\ /R /S:100 /U:2 /T:1000 /C:1 /A > erase_rnd.bat
f:\> erase_rnd.bat

解説すると、/F:G:\ の後者の G:\ でGドライブのルートにファイルを書いてねと指定します。あとは100MBのデータを1000回書いてという感じです。ただ、このコマンドはめちゃくちゃ時間が掛かります。なのでいつもは寝る前に仕掛けて起きたら確認という感じで実行しています。

で、ある程度のゴミランダム文字列ファイルが出来たら、同時に fsutil でファイルを作成しつつ、再度 cipher コマンド処理します。これだけ同時処理すればデータはプラッタのどこに書かれるか判りませんし、復旧もほぼ不可能でしょう。

自分の会社ではこの様にして依頼されたHDDを処理して処分しています。処分用のツール使ったり、DBAN使えば楽なんですが cipher と fsutil しか使えない場合もあるので、そういう時にはこの方法を使うのは有りだと思います。

というわけで、サイト的にHDD消去する際にもっとも適したツールはDBANだと思います(笑)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください