ディスクドライブを完全消去するプログラム

DskErase Version 1.00

Copyright(C) 2015 まりも(DOSsoft)

1.このプログラムの目的

 本プログラムは、ディスクドライブのデータを丸ごと消去するプログラムです。ユーザがアクセスできる全セクタに値0を書き込んでデータを消去します。ディスクドライブを廃棄・譲渡したり、別のシステムで転用する際などに利用できると思います。いわゆる2テラバイトの壁(2TiB、2.2TB)を超える容量のディスクドライブにも完全に対応しており、おそらく32TiBまでは大丈夫です。

 本プログラムで操作可能なディスクドライブは、ブートBIOSのあるインターフェイスで認識できているものです。マザーボードオンボード、BOOT ROMを持つストレージインターフェイスボード接続のものは基本的にOKです。USB接続のハードディスクに対しても適用可能ですが推奨はしません。 MS-DOSではUSBの転送速度が遅い場合があるためです。

 HDDだけでなくSSDにも適用できますが、SSDでは無駄な書き込みは消耗に繋がるだけで利点がありません。ほとんどのメーカのSSDには、自己消去機能があるはずです。intelのSSD製品だと「Secure Erase」というような名前の機能です。SSDではそうした自己消去機能のほうを使ってデータ消去してください。

ここをクリックしてダウンロードする

2.【基本的使い方】

 MS-DOS(DOS/V)またはWindows95/98のMS-DOSモードのコマンドラインから

 DskErase 

 と打つと実行が開始されます。全消去をしたい対象を下のディスク ドライブのリストから選んでENTERキーを押してください。

 本当に実行してよいかの問い合わせがでるので、Yで応答してください。

 次に画面の下の方で、書き込む値の選択メニューが出ます。通常は「値ゼロを書き込む」を選択してENTERを押してください。

 するとディスクドライブに書き込みが始まります。画面右上のinformationという枠内に進捗状況が表示されます。ディスクアドレス(16進数)とそのメガバイト単位(10進数)が表示されます。

 最終アドレスまで進むと終了しますが、容量によっては相当に時間がかかります。中止したいときはESCキーを押してください。表示されているアドレスまでは消去されています。なお容量表示は131072MiBまではMiB表記(情報単位のメガバイト)で、それを超えるとGiB表記(情報単位のギガバイト)となります。

その他の使い方

 コマンドオプションとして、 /S をつけると、ディスクドライブの接続一覧の表示になります。予め対象ディスクドライブを確認する際に使用してください。

3.【注意点】

誤消去注意

 このプログラムを少しでも実行開始すると、データの消去が行われます。すぐにESCで中止したとしても復旧は絶望的に困難となります。くれぐれも意図しないディスクドライブを消去しないようにご注意ください。とくに同容量のハードディスクが複数繋がっているときは間違いが起こりやすいです。対象ディスクを識別する番号(80h..)では物理ディスクとの対応がわかりにくいです。

 誤って消去しないようにするには、消去対象ディスクドライブのみ接続し、DOSの起動はUSBメモリやFD、CD-ROMから行うとよいでしょう。

I/Oエラーについて

 消去中にセクタへの書き込みでエラーが発生した場合には、

"ディスク入出力エラーが検出されました.

というメッセージが出るとともに、エラーが起こったディスクアドレスが画面に表示されます(ただし画面がいっぱいになるほどエラーがあった場合はそれ以上画面に出ません)。

 カレントディレクトリには "ERRLOG.TXT" というテキストファイルが作られるので、エラーがどこで起こったか、何回起こったのかなどを確認してください。本プログラムでは1回のディスク書き込み単位は64セクタ(32KB)となっており、ERRLOG.TXTのエラーの記録も64の倍数アドレスごととなっています。したがって書かれたアドレスそのもののセクタにエラーがあったというわけではなく、そのアドレスから64セクタ以内のどこかのセクタ番地でエラーが起こったこと意味しています。

ハードディスクのファームウェアレベル処理について

 消去中にエラーがあった場合は、ハードディスク側でセクタ代替処理が行われることがあります。これにより、再度実行しても同じアドレスではエラーが出なくなり、使用し続けることは可能です。

 いっぽう本プログラムを2度適用して同じアドレスでエラーが検出されるようなハードディスクはもう使用しないほうがよいと思われます。代替が行われていないことを意味しているからです。

【注意】本プログラムはディスクドライブの完全消去が目的であり、セクタエラーを厳重に検出したり、代替処理を促進させることは目的としていませんのでご注意ください。

書き込む値の選択メニュー

 書き込む値として0以外も選べますが、その場合でも先頭セクタから64セクタぶんはゼロで埋められます。これはそうしておかないと各種のシステムから未フォーマット状態のディスクとして認識できなくなるからです。ただし「セクタ番地と同じ64bit値を書き込む」を選択した場合はその通りになります。先頭のセクタ番地は0なので0で埋められ、次のセクタは「リトルエンディアン64bitの1」、すなわち 01 00 00 00 00 00 00 00 のバイト並びの繰り返しで埋められます。

SSDでは

 既に述べたように、SSDでは各製品にある自己消去機能を使ってください。

英語モードDOS

 DOSが英語モードのときは、メッセージは全て英文となります。しかし内容の正確さや日本語からの翻訳の品質については全く保証できません。またDOSの種類によっては(DR-DOSやFree DOSなど)、日本語/英語モードの判定を誤る可能性があり、英語モードなのに半角8bit文字のバケ文字が現れたり、日本語モードで枠線などがおかしなカナ文字で表示される場合があります。英文の誤りや言語モード判定の誤りが認められた場合はご一報くださると幸いです。

著作権ならびに約束事項

 このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者 DOSsoft は一切責任をとることはないものとします。著作権はDOSsoftにあります。他のサイトへの無断転載は認めません。著作権侵害のないようにお使いください。連絡メールアドレスは、ホームページ上に記載されています。

4.改版・掲載履歴

2015年03月01日 1.00 

 新規掲載(FDSKにある完全消去機能から分離のうえ改良)

[戻る]