25,859 views
この記事は最終更新から 797日 が経過しています。
1. やりたいこと
またまた Windowsネタだが、他に書く場所がないので、このブログにやったことを記録しておく。
他人に HDDをあげるとき、もしくは、他人から HDDをもらったとき、
HDDの中身を完全に消去したい。
これをやらないと Recuva などの復元ソフトを使って簡単に 消去済みのファイルを復元できてしまう。
今回は Windows10パソコン上で HDDの中身の完全消去(=ゼロフィル)をやってみた。
2. やってみる
(1) Windows10パソコンと HDDを接続
SATA I/Fを持つ 3.5インチ内蔵 HDDをパソコンとつなぐ。
今回使用するのがノートパソコンのため、SATA HDDと直接繋げない…
そこで、USB3 ←→ SATA 変換コネクタと SATA電源をまとめた
SATA HDD/SSD専用クレードル 「裸族のお立ち台」
を購入した。
SATAコネクタを持つ 2.5インチ、3.5インチ内蔵 HDD, SSDをノートパソコンに繋げることができて便利だ。
もちろんデスクトップパソコンでも使える。
(2) 対象のHDDに複数のパーティションがあれば一つにまとめる。
1) Windowsメニューから 「Windows管理ツール」-「コンピューターの管理」メニューを選択する。
2) 左側ペインの中にある「ディスクの管理」を選択する。
3) フォーマット対象の HDDに存在するすべてのパーティションを削除し、一つのパーティションにまとめる。
すべてのボリュームを削除する。
新しいボリュームを作成する。
最初からパーティションが1個しかなければ実行不要
(3) 方針
ゼロフィルとは、読んでその字の通り
HDDの全領域に0を書き込んでデータを消す
ということ。これをやらないと、HDDを貰った人が Recuva などの復元ソフトを使って 消去済みのファイルを復元 できてしまう。
なぜ、消したものを復元なんてできるの?
と言う方は、ドライブ セクタ クラスタ でググってみるとよろしいかと。
Windows Vista以降では、HDDのフォーマット時に クイックフォーマットのチェックを外す ことにより、フォーマット時にゼロフィルが行われるそうだ。
また、コマンドプロンプト上で format コマンドを実行する際に、 /P オプションでゼロフィル後に更に乱数を書き込んでデータを乱すこともできるそうな。
今回は後者の手順で HDDのデータ消去を行いたい。
(4) formatコマンドでゼロフィル+α
今回は、Dドライブとして認識されている HDDに対して format コマンドで 0フィル+2回の乱数上書き を実行してみる。
入力したコマンドは以下の通り。
FORMAT D: /FS:NTFS /P:2
/FS で、フォーマット時に適用するファイルシステムの種類を指定する。
/P で、ゼロフィル後に乱数を書き込む回数を指定する。
フォーマットを実行中…
(5) 完了までひたすら待つ…
今回フォーマット対象の HDDは 3TBもの容量を持つ。
これに ゼロフィル + 乱数フィル x 2回 で、全領域に 3回の書き込みを行う命令を実行してしまった。
遅い…
タスクマネージャーを起動してディスクアクセスの様子を眺めてみると…
書き込み速度は 150MB/秒 前後だ。
ということは…
3[TB] x 3[回] ÷ 150[MB/秒] = 60000[秒] = 16.7[時間]
さすがに 17時間も待てないので /P を 2回から 1回に減らして再実行しよう。
FORMAT D: /FS:NTFS /P:1
それでも、
3[TB] x 2[回] ÷ 150[MB/秒] = 40000[秒] = 11.1[時間]
およそ半日待つ…
実際にはゼロフィルすれば問題ない(=相応のコストをかけなければ復元できない)ので /Pを 0回で再実行しよう。
FORMAT D: /FS:NTFS /P:0
3[TB] x 1[回] ÷ 150[MB/秒] = 20000[秒] = 5.6[時間]
まぁ仕方がない。
今回は /P:1 で 12時間 待つことにする。
3. 所感
・大容量 HDDのゼロフィルには とっても時間がかかる。
→ メインのパソコンで行わず、部屋の片隅でサブのノートPCや NUC PCにフォーマットを実行させておこう。
・他にも diskpart コマンドを使った方法もある。
こちらのページで丁寧に解説してくださっている。 diskpart によるディスク全体の消去