連載
» 2018年03月30日 05時00分 公開

Tech TIPS:Windowsで、diskpartのcleanコマンドを使ってディスクの内容を消去する

Windows OS標準のコマンドだけでディスクの内容を消去したければ、diskpartコマンドを利用する。ディスクを選択後、cleanを実行するとディスクの先頭にある管理領域が消去される。clean allを実行すると、ディスク全体が消去される。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 7/Windows 8.1/Windows 10/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016


 TIPS「ディスクの内容を完全に消去する」では、Windows OSにマウントされているドライブに対して「cipher /w」コマンドを実行し、ディスクの空き領域部分の内容を消去する(バイトデータとして0x00を書き込む)方法を紹介した。

 この方法は、例えばディスクを破棄する前に、重要な情報などを全て消去しておくといった際に便利だ。だがWindows OS上から作業を行うことから、未使用部分しかゼロ消去できない、NTFSボリュームにしか適用できないなど、幾つかの制限がある。

 ディスクの内容を削除するコマンドとして、もう1つ、「diskpart.exe」というコマンドを使う方法もある。これはOSのパーティションを作成/管理するためのツールである(詳細は次のTIPS参照)。

 GUI版の[ディスクの管理]ツールとは異なり、diskpartには「clean」というサブコマンドがある。これを使うと、ディスク先頭にある管理情報(ブートコード、パーティション情報、ディスク署名など)を削除することができるし、Windows OS以外で使っていたディスクでも初期化できる。また、ディスク全体を完全に消去することも可能である。本TIPSではこの方法について解説する。

ディスクを消去するとは?

 PCで使われるハードディスクの先頭には、ディスクのサイズやタイプ(MBRタイプやGPTタイプなど)、パーティション情報、ブートコードなどのデータが記録されている。これらの情報をゼロデータで上書き削除することにより、以前の「使用の痕跡」やディスクの署名情報などを素早く削除できる。書籍で言えば、目次や索引などを削除することに相当する。消去後のディスクを自分で再利用するつもりなら、これだけでも十分だろう。

cleanコマンドによるディスクの消去とは? cleanコマンドによるディスクの消去とは?
diskpartのcleanは、ディスクの内容を消去するコマンド。単に「clean」を実行するとディスクのインデックスとなる部分(先頭と末尾の1MBずつ)だけを消去する。ファイルのデータ部分は残っているため、ディスク全体を調査すると、ファイルのデータを復元されてしまう可能性がある。「clean all」だとディスク全体を全て削除(ゼロデータで上書き)する。元あったファイルのデータ部分やその痕跡も削除できる。

 ディスクを破棄する場合は、ディスク全体にゼロデータなどを上書きして、以前のデータを全て削除するような消去が望ましい。diskpartコマンドではこのタイプの消去も行える。

 なおTIPS「廃棄するハードディスクのデータを完全に消去する」では、消去専用のツールを使ったディスクの消去方法を紹介している。ディスク破棄時の留意事項(上のTIPS内のリンク参照)などに従った消去作業を行いたければ、このようなツールを使うのが望ましい。diskpartのcleanコマンドでは、ゼロデータ書き込みを1回行うだけであるが、専用ツールではデータや書き込み方法を変えて何度か行い、より「完全に」消去できる。

diskpartコマンドを起動してディスクを消去する

 diskpart.exeコマンドは、ディスクを管理するためのCUIツールである。管理者権限のあるアカウントでサインインしてコマンドプロンプトを開き、diskpartコマンドを実行する。UACが有効なWindows OSの場合は、管理者としてコマンドプロンプトを起動し、その中でdiskpartコマンドを実行する。

 なお、このコマンドでディスクの内容を消去する場合、OSが起動したドライブを消去対象にはできないので、ターゲットとなるドライブを2台目以降のディスクとしてシステムに接続してから作業を行うこと(ドライブ文字を割り当てる必要はなく、システムに接続されていればよい)。内蔵ディスクだけでなく、USB接続のドライブや、リムーバブルストレージ(メモリ)デバイスに対しても消去作業は可能である。

システムの1台目のディスクを消去するには?

 通常のWindows OSを使っている場合は、C:を含むドライブ(システムの1台目のディスク)を消去することはできない。だがWindows OSのインストーラを使えば、任意のディスクの内容を消去できる。

 まずTIPS「『メディア作成ツール』をダウンロードしてWindows 10インストール用のUSBメモリを作る」などの方法を使って、Windows OSインストール用のUSBメモリを作成する。OSのバージョンは何でもよいし、評価版でもよい。

 そのUSBメモリ(もしくはインストール用のDVD)でシステムを起動してセットアップ画面を表示させる。そして[Shift]+[F10]キーを押すとコマンドプロンプトの画面が開くはずである。そこで「diskpart」と入力してdiskpartコマンドを起動する。その後の操作は、以下で述べる手順と同じだ。


方法1―ディスクの管理情報だけを消去する

 ハードディスクを素早く初期化するには、「clean」というコマンドをオプションなしで実行する。これを実行すると、ディスクの先頭と末尾の1MB分だけをゼロデータで消去する。Windows OS以外で利用していたディスクを使う場合や、一般的なパーティション情報などを持っていないディスクを素早く初期化したい場合などにも便利である。

 作業の手順としては、「list disk 〜」で対象ディスクの番号を確認後、「select disk 〜」で対象ディスクを選択、「clean」でディスクの先頭にある情報を消去、となる。コマンド実行前の確認などは行われないので、ディスクを間違えないように十分注意して作業していただきたい。

diskpartの起動と対象ディスクの確認 diskpartの起動と対象ディスクの確認
diskpartコマンドを起動したら、「list disk」でシステムに接続されているディスクを確認する。なおディスク選択後に「detail disk」コマンドを実行するとディスクのプロパティ情報が表示されるので、そこでもディスクの名称などを確認できる。

対象ディスクの選択と確認 対象ディスクの選択と確認
select disk 〜」で消去対象のディスクを選択する。選択されているディスクは先頭に「」が表示されるので、必ず確認すること。パーティションの状態もチェックし、本当に削除対象であるかどうかを確認すること。

cleanの実行と結果の確認 cleanの実行と結果の確認
clean」コマンドを入力すると、確認なしにすぐに実行される。ディスクのサイズに関係なく、どんなディスクでもこの処理はすぐに完了する。「list partition」や「list disk」で、結果を確認すること。消去されると、ディスクの「空き」が、ディスクの「サイズ」と同じになっているはずである。

方法2―ディスクの全内容を消去する

 ディスク全体を消去するには、単にcleanではなく、「clean all」というコマンドを利用する。実行すると、ディスクの全セクタに対してゼロデータが書き込まれる。ディスクやPCを破棄したり、他人に譲渡したりするような場合は、この方法で削除しておくとよい。1回しかデータを書き込まないので、「セキュリティ的に見て、完全な消去」というわけにはいかないが、ファイルやディスクの復活ツールなどで内容を復元されることはまずない。

clean allによるディスクの完全消去 clean allによるディスクの完全消去
「clean all」コマンドを実行すると、ディスク全体にゼロデータが書き込まれる。パーティションやボリュームの情報は削除されるし、ユーザーのデータ(の痕跡)なども全て削除される。ただし実行終了までにはかなり時間がかかる。

 このコマンドではディスク全体にゼロデータを書き込むので、時間がかかるのは仕方ないだろう。途中で[Ctrl]+[C]キーを押すと書き込みが中断して、dispartコマンドも終了するが、この場合は、未書き込み部分のデータはゼロ消去されずに残ったままである(中断しても、ハードディスクがアクセス不能になるといったことは起こらないが)。実行するなら、最後まできちんと完了させておこう。

 終了までにかかる時間を大雑把に見積もるには、タスクマネージャの[パフォーマンス]タブなどで確認するとよい。

clean all実行時のタスクマネージャの画面 clean all実行時のタスクマネージャの画面
タスクマネージャの[パフォーマンス]タブを開くと、どのくらいの速度でディスクに書き込んでいるかが分かる。ディスクの総サイズをこの速度で割ると、だいたいの必要時間が分かる(回転するプラッタを持つハードディスクの場合、ディスクの末尾に近づくにつれてアクセス速度が半分程度にまで低下することにも注意)。この例のディスクでは3時間ほどかかった。

 この画面の例では約100MB/sの速度で書き込みが行われているので、1TBのディスクなら終了までに3時間か、それ以上かかると概算できる。

消去後のディスクの状態は?

 ディスクを消去すると、そのディスクはWindows OSのディスク管理ツールでは「不明(初期化されていません)」という状態になる。Windows OSで再利用する場合は、これを「初期化」してから、ボリュームを作成する必要がある。

「不明」なディスクの初期化 「不明」なディスクの初期化
ディスクの管理ツールを起動すると(Windows 8以降なら、[スタート]ボタンを右クリックして[ディスクの管理]メニューから起動できる)、cleanコマンドで消去されたディスクは、何も書き込まれていない新品のディスクと同様に「不明」なディスクとして認識される。

■更新履歴

【2018/03/30】最新OSに合わせて内容を更新しました。

【2010/04/16】初版公開(対象はWindows 7/Server 2008 R2)。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。