(117) Windows10でHDDをゼロフィル・フォーマット

投稿者: | 2019年10月25日

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:112時間 待つことにする。

3. 所感

・大容量 HDDのゼロフィルには とっても時間がかかる。
 → メインのパソコンで行わず、部屋の片隅でサブのノートPCや NUC PCにフォーマットを実行させておこう。

・他にも diskpart コマンドを使った方法もある。
 こちらのページで丁寧に解説してくださっている。 diskpart によるディスク全体の消去


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です