HDD診断ツールで1番強力と言っていいツール、MHDDはあまり使っている人が居ないように思います。
日本語の文献が
「とりあえず、ぶん回して、Warning 出たら使わないようにしようね。」
「<150ms 1つでも出たら危ないね。 <500ms は危険だね。HDD交換」
ぐらいの低脳な文献しかでてこない。
確かに普通に使う分においては、それでいいかもしれない。

しかし、それでは飽き足らない。
mhddの英語のマニュアルを読破しようではないか。

下記サイトがmhddについて書かれたマニュアルである。

http://hddguru.com/software/2005.10.02-MHDD/mhdd_manual.en.html

MHDD ドキュメント

著作権と免責条項

このマニュアルは、売ることはできない。どこかで出版することもできない。使いやすくするために書いているので、ここの文章の一部をコピーする代わりにこのページをリンクしてもらったほうがいい。

あなたが持っている権利の範囲内で制限なしに配布してもかまわない。教育目的でディスアセンブル(リバースエンジニアリング)(解析)できる。MHDDのプログラムやその一部を売ることはしてはいけない。


2005年 ドミトリ ポストリガン

免責:
このソフトを使うにあたって。

MHDDは強力なツールですが、とても危険なプログラムです。MHDDでのデータの消失やダメージに誰も責任は持てません。


内容


  • MHDDへようこそ


    • MHDDプロジェクトについて

    • MHDDを取得

    • MHDDパッケージの中身

    • 動き方

    • サポートされているハードウェアと動作環境

    • インストールパッケージを取得

    • 始めに動かす。いくつかの重要な情報


  • MHDDコマンドを使う


    • ドライブをスキャンする

    • SMART属性を取得

    • ディバイスを特定するコマンド

    • セクター又はドライブ全体を消去する

    • ドライブ分割(サイズ調整)

    • セクターからファイルを読む

    • ファイルからドライブにセクターを書き込む

    • ノイズマネージメント

    • ディバイス設定

    • バッチ

    • 他のMHDDコマンド



MHDDプロジェクトについて

 MHDDはハードディスクで可能な限り低い層で動く小さくてパワフルなフリーソフトツールです。初版は2000年にドミトリ・ポストリガンによりリリースされました。IDEドライブのCylinder Header Sector モードの表面をスキャンすることができます。

私のメインの目的は良く知られた信頼されたHDD診断ツールを開発することです。

今やMHDDはより確実な診断ができるツールとなっています。MHDDは何でもできます。

ドライブを診断し、RAWセクターにアクセスします。S.M.A.R.T.(SMART)やノイズマネージメントやセキュリティ、ディスク上の隠しエリアというような他のドライブのパラメータを管理できます。

とてもシンプルな1行のスクリプトを使って、ドライブにコマンドを送りつけることさえできる。


MHDDを取得


MHDDの最新版が必要なときはいつでも http://mhdd.com のウェブサイトを使ってください。


MHDDがCDイメージ、自己解凍式のフロッピーイメージかファイルとして取得できます。

ドキュメントはウェブベースでいつでもアップデートしています。


MHDDパッケージの中身



mhdd.exe

メイン実行ファイル

mhdd.hlp

このファイルはMHDDのヘルプを表示するのに使われます。
batch/smple.mba

オペレーターなしでテストを走らせるサンプルパッチスクリプト
script/test

コマンドを送るためのサンプルスクリプト
cfg/mhdd.cfg

ここにはMHDDに格納されている設定があります

最初に起動した後に、自動的にlog/mhdd.logが生成されます。これはメインのログファイルで、全てのことがそこに記録されています。

もし、ダウンロードして、ブートフロッピーかCDイメージに展開したら、DR-DOSシステムファイルも入っているだろう。

動き方

MSDOSがどうやって動くのかイメージしてみましょう。ドライブからセクターを読む必要があるときに。-MSDOSは単純にBIOSに尋ねてドライブからセクターを読みます。それからBIOSはドライブのどこにアタッチされているのかを見つけるために、ドライブの中のテーブルを見る。

範囲を確認し、それからドライブにコマンド(命令?)を送り始める。その後、行われた全ての結果がMSDOSに返される。

この図を見て欲しい。 これは典型的なダイアグラム DOSプログラムがドライブと会話する。

   PROGRAM  <--->  MSDOS  <--->  BIOS  <--->  IDE/SATA controller  <---> Hard disk




And now how MHDD works:

   MHDD  <--->  IDE/SATA controller  <---> Hard disk





主な違い:

MHDDはBIOS機能や割り込みを使わない。だから、BIOSの中のドライブを見つける必要がさえもない。MSDOSが起動したにドライブの電源を付けることさえできる。

MHDDは直接IDEやSerial ATAコントローラーに働く。だから、パーティションやファイルシステム、BIOS(マザーボード)の制限などにを気に掛ける必要が無い。

注意:

MHDDはドライブを診断するために使おうとする同じ物理的なIDEチャネル(ケーブル)上のハードディスクから走らせることはできない。 MSDOS(例えばSMARTDRV.EXE)は、MHDDが使われるときに、同時にドライブにアクセスすることを決めるかもしれない。


そのチャネルの両方のディバイス上で同じデータを失ってしまうだろう。

MSDOSやBIOSが読み書きする試みをブロックしたり追いかけたりする方法はない。

そのため、標準設定では、通常MSDOSを起動させるときやMHDDを走らせるときに使われるMHDDはプライマリIDEとして動かすことができない。プライマリIDEのブロックを解除するためには、MHDDを動かして、それから終了させて、MHDD.CFGを変更しするか、/ENABLEPRIMARY switchを使ってください。


SCSIドライブではMHDDはDOS ASPI ドライバを使うため、もし、MHDDをSCSIドライブ上で使うことを計画していないのであれば、他のドライブを使う必要は無い。

プラットフォーム条件とサポートするハードウェア


プラットフォーム:



  • Intel Pentium 以上
  • 4MB のメモリ
  • DR-DOS,MSDOS version 6.22 以上
  • 何かブートするディバイス(USB、CDROM、FDD、HDD)
  • キーボード

IDE/SATA コントローラー:



  • マザーボードのノースブリッジに統合されたもの(address:0x1 Fxがプライマリチャネル、0x17x がセカンダリチャネル)
  • AHCIコントローラ、しかしながら、全てではない-もし、あなたのドライブが認識されなければ、IDEモード(時々、よくレガシーモードと呼ばれる)に切り替えて試してみて欲しい。これはBIOSセットアップで切り替えることができる。
  • PCI UDMA(Ultra ATA) ボード(自動的に見つけられます):HPT, Silicon Image, Promise, ITE ATI など。いくつかのRAIDボードさえもサポートされています。この場合、MHDDはどちらも分かれた物理ドライブとして働きます。
  • マザーボードに追加されたチップとして統合されたUDMA/RAIDコントローラ

ハードディスクドライブ:



  • 600MB以上のIDE または Serial-ATA ドライブ、言い換えるとLBAモードが完全にサポートされているドライブ。これは、Version2.9以前のCHSコード全てが取り除かれたためです。
  • 8388607TBより小さなサイズのIDEまたはSerial ATAドライブ、言い換えるとLBA48モードがサポートされている限界です。
  • 512-528バイトのセクターサイズのSCSIドライブ

IDEドライブはマスターモードで操作すべきです。そして、スレイブディバイスとして触るべきではありません。全てのドライブをマスターディバイスとして動くように構成してください。

他のディバイス

  • テープのようなSCSIリムーバブルメディア、CDROM、最大セクターサイズが4096バイトのディバイス。

  • インストールパッケージを取得する

    好きなインストールパッケージを決める必要がある。CDイメージ、フロッピーイメージ、または実行ファイルかを。 http://mhdd.com に来てください。

    CDイメージをCDライティングソフトで焼けます。 その焼いたCDは起動ディスクになります。

    フロッピーイメージは、Windows2000/XPで書き込まれます。

    実行ファイルだけを取得することを決めるかもしれない。MHDDファイルをどこかに展開する必要がある。

    最初に実行。重要な情報のあれこれ 

     MHDDはとても難しいと信じているが、MHDDはとても単純で簡単であるべき
    1ボタンで動く ソフトウェアであると仮定しているからだろう。最初に起動させると、失望するだろう。
    HDDがどのように動くのかの深い知識が無ければ、
    MHDDは簡単ではない。 
    もし、このような知識が欲しければ、ATA/ATAPI standard:を使うといいだろう。: http://t13.org

     MHDDによる結果を理解し始める前に、何時間か費やして理解することはとても重要です。
    悪いハードディスクドライブで動かし始める前に、2~3個の程度の良いドライブで試してみることを強くお勧めする。

    最初に実行させると、MHDDは./cfg/mdhdd.cfg ファイルを作る。 プライマリIDEチャネルは標準設定で使用不可になっている。もし、それを本当にenable(使用可能)にしたいのであれば、これをよんでほしい(警告を見ることになります)。

    選択メニューからドライブを見る。診断させたいドライブを選んでください。SHIFT+F3を押すことでいつでもこのメニューを呼び出せます。

    今、F1を押すと、実行したいコマンドなら何でも使う。MHDDを最初に実行するときに念には念を入れて見て欲しい。

    ベストなコマンド、それは最初にEID,SCAN,STOP,CX そしてTOFを最初にトライしてみることだ。
    その中でもショートカットがある、例えばF4はSCANのためのショートカットだ。

    registers(レジスター)も見て下さい。 IDE/SATA ドライブが報告している DRIVE READY(準備完了)、,DRIVE  SEEK COMPLETE(ドライブ調査完了)、だからDRDY と DRSCフラグは青色に見える。BUSYは示すドライブが何か実行したときに現れる。(例えばコマンドを読んだり書いたりしたとき)。WRITE FAULTやTRACK 0 NOT FOUNDはもう陳腐化している。それらは決して出現すべきでない。INDEXフラグも陳腐化している。しかし、時々僅かに点滅する。DATA REQUEST(DREQ)フラグはドライブがPCからデータを送受信したときに点灯する。

    ERRORフラグ(ERR)をレジスターエラーが見つかると、見るときどこかに何らかの種類のエラーが起こっていることがわかる。??

    registersやコマンドについてのより多くの情報はATA/ATAPI standardを見てほしい。

    MHDDコマンドを使う

    ドライブをスキャンする

    ID/EIDコマンド(またはF2 キー)でディバイスを見つけることさえできれば、ディバイス(HDD)をスキャンすることが可能です。ドライブをスキャンするには、SCANとタイプしてEnterを押すか、F4キーを使います。


    すると何か設定を調整できるメニューを見るだろう。標準設定では、LBAが0ではじまり、LBAが可能な限り最大の値(ドライブの最後のセクター)で終わる。全てのデータを破壊するような機能(置き換え、消去、遅延)は標準ではoffに設定されています。

    F4を再び押すとスキャンし始める。MHDDはブロックごとにドライブをスキャンする。例えばIDE/SATAドライブは1ブロックが255セクターある(130560バイト)。

    MHDDのスキャンの仕方

    1. MHDDはパラメータとして検証するために
      LBA番号とセクター番号に セクター照合コマンドを送る。
    2. ドライブにBUSYフラグを立てる
    3. MHDDはタイマーをスタートさせる。
    4. ドライブ検証コマンドが実行された後に、BUSYフラグをはずす。
    5. MHDDは時間をカウントし、一致するブロックをスクリーンに表示する。もし、エラーが見つかればMHDDはエラーが記述されている場所と一致する場所を出力する。
    MHDDは1-5までのステップを最後のセクターまで繰り返す。スキャンしたログが必要ならば、log/mhdd.log ファイルをチェックして欲しい。全てはそこにある。

    ドライブにエラーがあれば、最初にフルバックアップをして、それからERASEコマンドでドライブ上の全てのセクターを消去します。そして、そのセクターのECCフィールドごとに再計算します。これはソフトウェアバットブロックを取り除くのを助けます。それが役に立たないなら、SCANにREMAPオプションを付けて実行するといい。

    全てのブロックがエラーとして見えるなら、セクターを消去してリマップをしないほうがいい。MHDDのコマンドでは直せない範疇にある。もしデータが必要なら、データ復旧会社を使った方がいいだろう。

    SMART属性の取得

    SMART ATTコマンドかF8を押すとSMART属性を取得できます。それがどういう意味かって?

    最も重要なことはReallocated Sectors Count属性の生の値です。それは、ドライブ上のどれくらいリマップしたかをあらわしてます。通常は、そこはいつも0であるべきです。もし、50以上あるなら-何か問題がある。それらは、悪い電源、振動、熱暴走、か又はハードディスクが壊れているかもしれないことを意味している。

    温度を見て欲しい。最善の値は20-40度(C)、しかし幾らかのドライブは温度をレポートしない。

    UMDA CRC error rate属性は、IDE/SATAケーブルからデータを転送している間にどれだけエラーが起こったかを意味している。通常は0であるべきだ。もし0でないのなら、今すぐケーブルを換えたほうがいい。オーバークロックもこのエラーレートを増加させる結果になるかもしれない。

    他の属性は通常はあまり重要ではない。SMART 属性についてのより多くの情報はATA/ATAPI standardを見て欲しい。

    ディバイス特定コマンド

    ドライブについての情報を見るために、IDEIDコマンドを試して欲しい。
    HDDの特徴やモードについてのより多くの情報はATA/ATAPI standardを見て欲しい。

    セクターの消去、または 全てのドライブの消去

    セクターやドライブ全体を消去するために、ERASEコマンドが使える。もしBIOSからドライブが認識されているなら、MHDDはBIOSのドライブ消去のための機能を使おうとするだろう。もし、BIOSを使ってドライブを消したくないなら、/DISABLEBIOSコマンドライン スイッチを使う。

    ドライブの切り分け(サイズ変更)

    HPAコマンドを使うとドライブのサイズを制限できる。 あたらしい、LBAの最大値を聞かれるだろう。ちょうど使いたいだけのセクターを入力する。ドライブを結合するために、NHPAコマンドを使う。NHPAコマンドを使う前に再起動して欲しい。ATA/ATAPI standardによると、HPA機能はドライブが起動するサイクルで一度だけ使うことができるからだ。

    セキュリティコマンド


    PWDコマンドを使うとドライブに定義してユーザパスワードでロックしてくれる。ATA/ATAPI standardによると、パスワード設定を有効にするためにはドライブを再起動しなければならない。

    ドライブのロックを外すためには2つのコマンドがある。それはUNLOCK と DISPWD だ。
    UNLOCKはドライブを次の起動時までロックを外す。パスワードを無効化するためには、始めにUNLOCKをしないといけない。それからDISPWDコマンドを使ってパスワードを無効化する。
    unlockかパスワード無効化コマンドを使ってパスワードを知る必要がある。UNLOCKとDISPWDはマスターかユーザーかは関係なく入力したどんな種類のパスワードも聞きだせるだろう。例えば、PWDコマンドはUSERパスワードをセットする。

    マスタパスワードは製造業者(メーカー)によってセットされている。そして、ドライブをunlockできる。

    セクターを読んでファイルにする

    さまざまなセクターやドライブ全体を1つのファイルに又はファイルのセットに読むことができる。TOFコマンドを走らせて見て。何も難しいことは無い。MHDDはバッドセクターをスキップしてくれる。もし、1GB以上のものを得ようとしているなら、ATOFコマンドを使った方がいいだろう。
    (あるものの代わりにさまざまなファイルを作成してくれる。)

    ファイルからドライブにセクタを書く

    FFコマンドを使うと、ドライブのセクターに書き込むことができる。書くときの最初のLBAセクタの数値やどれくらいのセクターに書き込むのかを聞かれるだろう。

    ノイズマネージメント

    殆ど全ての近代的なドライブはノイズマネージメントをサポートしている。ヘッドやシークタイムの増加によって生み出されるノイズを減らすことができる。AAMコマンドを使うとノイズを調整できる。

    ディバイス設定

    CONFIGコマンドを使うと、現在のドライブの設定を見たり変更したりできる。UDMA(Ultra DMA) modeの最大値をセットしたり設定値を見ることができる。セキュリティサポート、SMARTサポート、LBA48モードサポート,AAMやHPAサポートなど。コマンドを使ってドライブを分割したり結合できる。製造業者(メーカー)によってはディバイス設定に追ってディスクのサイズを減らすこともできる、

    バッチ

    簡単なバッチファイうも書ける(バッチ ディレクトリの例題を見てみよう)その場所には、やりたいことを記述する。F5を押してバッチを走らせよう。

    他のMHDDコマンド

    F1ボタンを押すとMHDDを操作するためのより多くのコマンドを見つけることができる。
    MANコマンドを使ってより詳細なヘルプをコマンド上でを得ることはとてもいいことだ。
    健闘を祈る!

    コマンドラインスイッチ

    /NOPINGPONG 消音
    ./DISABLEBIOS BIOSを通しての消去を無効化
    /DISABLESCSI SCSIエンジンを無効化
    /ENABLEPRIMARY IDE/SATAチャネルをプライマリーにする。
    /RO ストレージに書き込み禁止にしてMHDDを走らせる
     (ログやテンポラリファイルをの作成の無効化)

    よくある質問

    FAQはここにいあります。
    http://forum.hddguru.com/viewtopic.php?t=5 

    編集:マヤ ポストリガン