連載
» 2010年04月16日 00時00分 UPDATE

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

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

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

連載目次

対象OS:Windows XP/Windows Vista/Windows 7/Windows Server 2003/Windows Server 2008/Windows Server 2008 R2



解説

 TIPS「ディスクの内容を完全に消去する」では、Windows OSにマウントしたドライブに対して「cipher /w」コマンドを実行し、ディスクの空き領域部分の内容を消去する(バイト・データとして0を書き込む)方法を紹介した。これにより、例えばディスクを破棄する前に、重要な情報などをすべて消去しておくことができる。だがWindows OS上から作業を行うため、いくらか制限があった。詳細については先のTIPSを参照していただきたい。

 ディスクの内容を削除するコマンドとして、もう1つ、diskpart.exeというコマンドを使う方法もある。これはOSのパーティションを作成/管理するためのツールであるが、GUI版の[ディスクの管理]ツールとは違い、cleanというサブコマンドを持っている。これを使うと、ディスク先頭にある管理情報(ブート・コード、パーティション情報、ディスク署名など)を削除することもできるし、パーティションが存在しないディスクでも内容を消去できる。また、ディスク全体を消去することも可能である。本TIPSではこの方法について解説する。

 なお、TIPS「廃棄するハードディスクのデータを完全に消去する」では、消去専用のツールを使ったディスクの消去方法を紹介している。ディスク破棄時の留意事項(上のTIPS内のリンク参照)などに従った消去作業を行いたければ、このようなツールを使うのが望ましい。

操作方法

 diskpart.exeコマンドは、ディスクを管理するためのCUIツールである。管理者権限のあるアカウントでログオン後、コマンド・プロンプトを開き、diskpartコマンドを実行する。UACが有効なWindows OSの場合は、管理者としてコマンド・プロンプトを実行し、その中でdiskpartコマンドを実行する。なお、このコマンドでディスクの内容を消去する場合、OSが起動したドライブを消去対象にはできないので、ターゲットとなるドライブを2台目以降のディスクとしてシステムに接続してから作業を行うこと(ドライブ文字を割り当てる必要はなく、システムに接続しておくだけでよい)。USB接続のドライブや、リムーバブル・ストレージ(メモリ)デバイスに対しても作業は可能である。

 ただしWindows Vista以降のOSの場合は、インストールDVDを使えば、システムの1台目のディスクに対しても作業できる。インストールDVDでシステムを起動後、最初の画面で[コンピュータを修復する]を選び、[次へ]ボタンをクリックしてから[コマンド プロンプト]を起動すればよい(Windows 7やWindows Server 2008 R2の場合は、インストーラの起動画面で[Shift]+[F10]キーを押してもよい)。

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

 ハードディスクの先頭には、ディスクのサイズやタイプ(MBRタイプやGPTタイプなど)、パーティション、ブート・コードなどの情報が記録されている。これらの情報を0データで消去することにより、以前の「使用の痕跡」やディスクの署名情報などを素早く削除できる。Windows OS以外で利用していたディスクを使う場合や、一般的なパーティション情報などを持っていないディスクを素早く初期化したい場合などに便利である。

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

C:\>diskpart ……コマンドの起動(これはWindows XPの例)

Microsoft DiskPart version 5.1.3565

Copyright (C) 1999-2003 Microsoft Corporation.
コンピュータ: XPC122

DISKPART> list disk ……ディスク一覧の表示

  Disk ###  Status           Size     Free     Dyn  Gpt
  --------  ---------------  -------  -------  ---  ---
  Disk 0    オンライン        233 GB  1012 MB
  Disk 1    オンライン         75 GB   314 MB
  Disk 2    オンライン        233 GB      0 B
  Disk 7    オンライン       5726 MB      0 B ……これが操作対象ディスク

DISKPART> select disk 7 ……Disk 7を選択する(上の結果に合わせること)

ディスク 7 が現在選択されているディスクです。

DISKPART> list disk ……必ず再確認する

  Disk ###  Status           Size     Free     Dyn  Gpt
  --------  ---------------  -------  -------  ---  ---
  Disk 0    オンライン        233 GB  1012 MB
  Disk 1    オンライン         75 GB   314 MB
  Disk 2    オンライン        233 GB      0 B
* Disk 7    オンライン       5726 MB      0 B ……先頭に * が付いていることを必ず確認する

DISKPART> list partition ……いちおう、パーティション情報を見てみる

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    プライマリ             5728 MB    16 KB ……このディスクにはパーティションが1つだけある。パーティションも消えるのでよく確認しておくこと

DISKPART> clean ……コマンドの実行。確認なしにすぐ実行されるので注意すること

DiskPart はディスクを正常にクリーンな状態にしました。 ……すぐに完了する

DISKPART> list partition ……内容を確認してみる

このディスクには表示するパーティションがありません。 ……パーティション情報が消えている

DISKPART> exit ……diskpartコマンドを終了する

DiskPart を終了しています...

C:\>



 以上で操作は完了である。ディスクのパーティション情報が削除され、余計な以前の情報が残らないので、OSをクリーン・インストールする場合などに便利である。元々割り当てられていたパーティション/ドライブ文字などは使えなくなっているので、作業後はいったんシステムをシャットダウン/再起動すること。消去後のディスクを例えば既存のWindows OSに接続すると、「ディスクが初期化されていません。初期化しますか」といったメッセージが表示されるので、指示に従って初期化(ディスクの署名などを書き込む作業)を行ってから利用する。

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

 上の操作において、単にcleanではなく、「clean all」というコマンドを実行すると、ディスクの内容がすべて消去される(全セクタに対して0データが書き込まれる)。cipher /wコマンドと違って、1回しかデータを書き込まないので、「セキュリティ的に見て、完全な消去」というわけにはいかないが、内容をすべて削除するという点では十分これでも実用的である。最初の方法と違って、各パーティションを構成するセクタも0クリアされるので、一般的ではないようなディスクの使い方をするOSのデータなどもすべて消去できる。

C:\>diskpart ……コマンドの起動

Microsoft DiskPart version 5.1.3565

Copyright (C) 1999-2003 Microsoft Corporation.
コンピュータ: XPC122

DISKPART> list disk ……ディスク一覧の表示

  Disk ###  Status           Size     Free     Dyn  Gpt
  --------  ---------------  -------  -------  ---  ---
  Disk 0    オンライン        233 GB  1012 MB
  Disk 1    オンライン         75 GB   314 MB
  Disk 2    オンライン        233 GB      0 B
  Disk 7    オンライン       5726 MB      0 B ……これが操作対象ディスク

DISKPART> select disk 7

ディスク 7 が現在選択されているディスクです。

DISKPART> list disk ……必ず再確認する

  Disk ###  Status           Size     Free     Dyn  Gpt
  --------  ---------------  -------  -------  ---  ---
  Disk 0    オンライン        233 GB  1012 MB
  Disk 1    オンライン         75 GB   314 MB
  Disk 2    オンライン        233 GB      0 B
* Disk 7    オンライン       5726 MB      0 B ……これが現在選択されているディスク

DISKPART> clean all ……コマンドの実行。確認なしにすぐ実行されるので注意すること。ディスク全体に書き込むのでかなり時間がかかる

DiskPart はディスクを正常にクリーンな状態にしました。 ……消去完了

DISKPART> exit ……終了させる

DiskPart を終了しています...

C:\>



「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

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

メールマガジン登録

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