(57)【要約】【課題】パソコンが認識できないＵＳＢ外付けドライブでも、パソコンに付属しているリカバリＣＤを使用してリカバリができる方法およびプログラムを提供する。【解決手段】パーソナルコンピュータ（パソコン）２０のリカバリ用ソフトウエアを格納した光ディスク１を、パソコン２０が認識できないＵＳＢ接続の外付け光ディスクドライブ１００で読み込んでリカバリを行う際に、ＵＳＢディスクリプタ書き換えツールを用いて、パソコン２０から外付け光ディスクドライブ１００の製造メーカおよび製品名を表すデバイスディスクリプタを格納したＥＥＰＲＯＭ３０にアクセスして、パソコン２０が認識可能なデバイスディスクリプタに書き換えることにより、外付け光ディスクドライ１００を認識できるようになる。【選択図】図１
2005092392.tif 000002
【特許請求の範囲】
【請求項１】
パーソナルコンピュータのリカバリ用ソフトウエアを格納した光ディスクを、前記パーソナルコンピュータが認識できないＵＳＢ接続の外付け光ディスクドライブで読み込んでリカバリを行うパーソナルコンピュータのリカバリ方法であって、
当該パーソナルコンピュータを起動する工程と、
前記ＵＳＢ接続の外付け光ディスクドライブを当該パーソナルコンピュータに接続する工程と、
ＵＳＢディスクリプタ書き換えツールを用いて、当該パーソナルコンピュータから、前記外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを格納したメモリ手段にアクセスして当該パーソナルコンピュータが認識可能なデバイスディスクリプタに書き換える工程と、
当該パーソナルコンピュータを前記外付け光ディスクドライブに装着した光ディスクに格納された前記リカバリ用ソフトウエアを用いてリカバリを行うことを特徴とするパーソナルコンピュータのリカバリ方法。
【請求項２】
前記ＵＳＢディスクリプタ書き換えツールは、
ＵＳＢ接続された前記外付け光ディスクドライブのドライブ名を表示するドライブ名表示手段と、
当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するデバイスディスクリプタ変更手段と、
このデバイスディスクリプタ変更手段で書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込む手段とを備えたことを特徴とする請求項１記載のパーソナルコンピュータのリカバリ方法。
【請求項３】
前記デバイスディスクリプタ変更手段は、予めメーカ名、ドライブ名に対するデバイスディスクリプタを記述したテーブルを設け、メーカ名、ドライブ名を選択したときにそのメーカ名、ドライブ名に対応するデバイスディスクリプタを光ディスクドライブのメモリに書き込むようにするものである請求項２記載のパーソナルコンピュータのリカバリ方法。
【請求項４】
前記デバイスディスクリプタ変更手段は、デバイスディスクリプタを直接入力する手段を設けていることを特徴とする請求項２記載のパーソナルコンピュータのリカバリ方法。
【請求項５】
前記デバイスディスクリプタ変更手段は、メーカ名、ドライブ名を選択する手段とデバイスディスクリプタを直接入力する手段とを選択することができるようにしたことを特徴とする請求項２記載のパーソナルコンピュータのリカバリ方法。
【請求項６】
リカバリ終了後、前記デバイスディスクリプタを、書き換える前の工場出荷時の初期値に戻す手段を備えたことを特徴とする請求項１から５のいずれかの項に記載のパーソナルコンピュータのリカバリ方法。
【請求項７】
ＵＳＢ接続された外付け光ディスクドライブのドライブ名を表示するステップと、
当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するステップと、
書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込むステップと
をコンピュータにより実行することを特徴とするＵＳＢディスクリプタ書き換えプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下、パソコンという）では認識できないＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）接続の外付け光ディスクドライブを用いて、パソコンをリカバリするための方法およびその方法を実行するためのＵＳＢディスクリプタ書き換えプログラムに関する。
【背景技術】
【０００２】
コンピュータウイルスによりデータやファイルの一部が壊れた場合とか、複数のアプリケーションをインストールしたことによる競合やファイルの上書きにより動作が不安定になった場合などに対処するため、パソコンメーカではパソコンを購入した初期の状態に戻す、いわゆるパソコンのリカバリ手段を提供している。
【０００３】
パソコンのリカバリ手段には以下の方式がある。
【０００４】
（１）ハードディスクリカバリ方式
これは、インストールされるソフトウエアを、ユーザが通常アクセスできないハードディスク領域に予め格納しておき、リカバリが指示されたとき、この領域からソフトウエアを復元するものである（例えば、特許文献１，２参照）。
【０００５】
（２）ＣＤ−ＲＯＭリカバリ方式
これは、リカバリが必要なときに、ＣＤ−ＲＯＭ（媒体）として製品に同梱されているリカバリ用ソフトウエアを用いて初期状態に復元するものである。
【特許文献１】特開２０００−１８１７７２号公報
【特許文献２】特開２００２−５５８６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記のハードディスクリカバリ方式は、比較的新しい方法であるが、ハードディスク内にあるリカバリデータが壊れてしまう可能性もあるため、パソコンメーカでは、依然としてＣＤ−ＲＯＭ（媒体）にてリカバリイメージを供給するケースが多い。
【０００７】
また、ＣＤ−ＲＯＭリカバリ方式は、内蔵ドライブを持つパソコンでは、内蔵ドライブにリカバリＣＤをセットし、パソコンを起動することによりパソコンを初期状態に戻すことができるが、内蔵ドライブを持たないパソコンでは、外付けドライブを利用するしかない。
【０００８】
パソコンと外付けドライブを接続する方式には、最近ではＵＳＢ接続方法が一般的になっている。
【０００９】
外付けドライブを使ってパソコンをリカバリするための条件は次の通りである。
【００１０】
（１）パソコンのＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が、ＵＳＢブートを可能にしていること。
【００１１】
（２）ＢＩＯＳがパソコンのＵＳＢポートに接続されているＵＳＢ接続の外付けドライブを認識できること。
【００１２】
（３）セットされているＣＤがブート可能なＣＤであること。リカバリＣＤであれば一般的にはブート可能である。
【００１３】
（４）リカバリＣＤ内のドライバが接続されている外付けドライブを認識可能であること。
【００１４】
パソコンメーカでは、パソコン毎に自社ブランドの周辺機器の１つとして、ＢＩＯＳレベルでブート可能な外付けドライブを指定しているが、後から発売された外付けドライブでは、転送速度が速くリカバリ時間が短いといった、性能的にも優れているにも拘わらず、パソコンが外付けドライブを認識しないため、リカバリできない場合がある。すなわち、パソコンメーカから供給されたリカバリＣＤに含まれるリカバリソフトウエアには、ＵＳＢ  ＤＯＳ（Ｄｉｓｃ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のドライバに新しい外付けドライブのコードが入っていないためその新しい外付けドライブを認識できない。そして、ユーザは、パソコンメーカが供給しているリカバリＣＤを、新しい外付けドライブを含むように変更したり作成できないので、パソコンをリカバリさせるためには、ドライブ側でＵＳＢ  ＤＯＳドライバに登録済みのドライブに代えるしかない。
【００１５】
本発明は、パソコンが認識できないＵＳＢ外付けドライブでも、パソコンに付属しているリカバリＣＤを使用してリカバリができるパーソナルコンピュータのリカバリ方法およびその方法を実行するためのＵＳＢディスクリプタ書き換えプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１６】
本発明は、リカバリする時だけ、ＵＳＢ外付け光ディスクドライブのディスクリプタを、パソコンのリカバリ仕様に合致するディスクリプタに変更することにより、そのままでは認識できない外付け光ディスクドライブを用いて、パソコンのリカバリが可能となる。
【００１７】
すなわち、上記（１）〜（３）までの必要条件を満たすパソコンにおいて、（４）の条件が満たされるように光ディスクドライブ側で対応することにより、リカバリ可能となるようにするものである。
【発明の効果】
【００１８】
以上のように本発明のパソコンのリカバリ方法は、パソコンから、外付け光ディスクドライブのデバイスディスクリプタを格納したメモリ手段にアクセスして当該パソコンが認識可能なディスクリプタに書き換えることにより、外付け光ディスクドライを認識できるようになる。したがって、パソコンの出荷後に開発、販売されたような、新機能を有するがパソコンが認識できないＵＳＢ外付けドライブでも、パソコンに付属しているリカバリＣＤを使用してパソコンのリカバリが可能となる。
【発明を実施するための最良の形態】
【００１９】
上記課題を解決するためになされた請求項１の発明は、パーソナルコンピュータのリカバリ用ソフトウエアを格納した光ディスクを、前記パーソナルコンピュータが認識できないＵＳＢ接続の外付け光ディスクドライブで読み込んでリカバリを行うパーソナルコンピュータのリカバリ方法であって、当該パーソナルコンピュータを起動する工程と、前記ＵＳＢ接続の外付け光ディスクドライブを当該パーソナルコンピュータに接続する工程と、ＵＳＢディスクリプタ書き換えツールを用いて、当該パーソナルコンピュータから、前記外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを格納したメモリ手段にアクセスして当該パーソナルコンピュータが認識可能なデバイスディスクリプタに書き換える工程と、当該パーソナルコンピュータを前記外付け光ディスクド
ライブに装着した光ディスクに格納された前記リカバリ用ソフトウエアを用いてリカバリを行うことを特徴とするパーソナルコンピュータのリカバリ方法としたものであり、パソコンが認識できないＵＳＢ外付けドライブでも、パソコンに付属しているリカバリＣＤを使用してリカバリができるという効果を有するものである。
【００２０】
上記課題を解決するためになされた請求項２の発明は、請求項１の発明において、ＵＳＢディスクリプタ書き換えツールは、ＵＳＢ接続された外付け光ディスクドライブのドライブ名を表示するドライブ名表示手段と、当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するデバイスディスクリプタ変更手段と、このデバイスディスクリプタ変更手段で書き換えられたデバイスディスクリプタに基づいて外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込む手段とを備えたことを特徴とするパーソナルコンピュータのリカバリ方法としたものであり、プログラムを直接編集しなくても、デバイスディスクリプタの変更を簡単に行うことができるという効果を有するものである。
【００２１】
上記課題を解決するためになされた請求項３の発明は、請求項２の発明において、デバイスディスクリプタ変更手段は、予めメーカ名、ドライブ名に対するデバイスディスクリプタを記述したテーブルを設け、メーカ名、ドライブ名を選択したときにそのメーカ名、ドライブ名に対応するデバイスディスクリプタを光ディスクドライブのメモリに書き込むようにするもので、予め自社の製品などでデバイスディスクリプタがわかっているときは、その情報を組み込んでおくことで、手入力の手間が省けるという効果を有する。
【００２２】
上記課題を解決するためになされた請求項４の発明は、請求項２の発明において、前記デバイスディスクリプタ変更手段は、デバイスディスクリプタを直接入力する手段を設けていることを特徴とするもので、他社メーカの外付け光ディスクドライブについては、手入力で書き換えを行うことができるという効果を有する。
【００２３】
上記課題を解決するためになされた請求項５の発明は、請求項２の発明において、デバイスディスクリプタ変更手段は、メーカ名、ドライブ名を選択する手段とデバイスディスクリプタを直接入力する手段とを選択することができるようにしたもので、請求項３の発明と請求項４の発明の両方の効果を併せ持つ。
【００２４】
上記課題を解決するためになされた請求項６の発明は、請求項１から請求項５のいずれかの発明において、リカバリ終了後、デバイスディスクリプタを、書き換える前の出荷時の初期値に戻す手段を備えたものである。ディスクリプタを変更したまま通常動作で使用することは、外付けドライブに添付している書き込みソフト等のアプリケーションが正常に動作しないことが想定されるため、リカバリ後に、自動的に出荷時の初期値に戻すことができるようにすることで、元の状態を記録していなくても初期化が可能となる。
【００２５】
上記課題を解決するためになされた請求項７の発明は、ＵＳＢ接続された外付け光ディスクドライブのドライブ名を表示するステップと、当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するステップと、書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込むステップとをコンピュータにより実行するためのＵＳＢディスクリプタ書き換えプログラムとしたもので、このプログラムをインストールすることにより、パソコンによる請求項１から請求項６の発明の実行が可能となる。
【実施例１】
【００２６】
以下、本発明の実施例について、各図に基づいて説明する。
【００２７】
図１は本発明の実施例に係るＵＳＢインターフェース接続の外付け光ディスク装置のブロック図、図２は本実施例に係るリカバリ方法を実行するためのフローチャート、図３は本実施例におけるＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒ書き換えツールのディスプレイ画面を示す図、図４は図２のステップＳ１１０の詳細フローチャート、図５は図２のステップＳ１７０の詳細フローチャートを示している。
【００２８】
図１において、破線内がＵＳＢ外付け光ディスクドライブ（以下、単に「光ディスクドライブ」ということがある）１００であり、ＵＳＢコネクタ１９によりパソコン２０と外部接続できるようになっている。
【００２９】
光ディスクドライブ１００は、光ディスク１を駆動するスピンドルモータ３と、光ディスク１に対して記録および再生を行うピックアップユニット４を駆動するフィードモータ２と、フィードモータ２およびスピンドルモータ３を駆動制御するモータ駆動回路６を有している。ピックアップユニット４は、アクチュエータ駆動回路７で駆動される。モータ駆動回路６、アクチュエータ駆動回路７をサーボ制御するものがＣＤサーボプロセッサ９である。また、モータ駆動回路７に電力を供給するのが駆動系電源回路８である。
【００３０】
また、光ディスクドライブ１００は、記憶領域、記録制御、再生制御に必要な記憶領域として使用されるバッファメモリ１１と、制御プログラム、ならびに光ディスク記録装置のための記録制御プログラムを記憶したプログラム記憶エリアを有するメインメモリ１３と、論理判断や演算を行うＣＰＵ１４を有している。
【００３１】
光ディスク１とピックアップユニット４から得られる光信号はアナログ信号処理部５で信号処理され、ＣＤサーボプロセッサ９のフィードバック信号として使われると共に、デジタル信号処理部１０の入力信号となりデジタル信号へ復調され、その結果がバッファメモリ１１へ格納される。このバッファメモリ１１は記録データ、および復調したデータを一時記憶するためのメモリとして機能する。これらのデータはインターフェース部１２を経由し、ＡＴＡＰＩバス１６を使った通信でＵＳＢ変換ＩＣ１７とデータの受け渡しを行う。
【００３２】
ＵＳＢ変換ＩＣ１７は、受けたＡＴＡＰＩ信号をＵＳＢ信号１８へ変換し、ＵＳＢコネクタ１９を通し、ＵＳＢケーブルによって外部のパソコン２０と接続されデータの受け渡しを行う。ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０は、書き換え可能な不揮発メモリであり、本発明の実施に必要なディスクリプタ情報が格納されている。
【００３３】
システムバス１５は、光ディスク装置内でのデータ転送用バスである。メインメモリ１３に記録されたプログラムにより、ＣＰＵ１４がデジタル信号処理部の制御を行う。デジタル系電源回路２６はＣＰＵ１４、デジタル信号処理部１０、メインメモリ１３等、デジタル信号処理部に対し各種の電圧を安定供給する。
【００３４】
これらの装置を動かす回路部分へ供給される電圧は、ＡＣアダプター２１でＡＣ１００Ｖから例えばＤＣ６Ｖへ変換され、ＤＣジャック２２より光ディスクドライブ１００へ供給される。電源起動回路２５はＵＳＢコネクタ１９の電源端子ＶＢＵＳ２４の電圧に連動し、光ディスクドライブ１００の駆動系電源回路８、デジタル系電源回路２６に電圧を供給するもので、ＵＳＢ電源のＯＮ／ＯＦＦに連動し自動的に光ディスクドライブ１００を起動及び終了させる。
【００３５】
ここで、ＵＳＢとはユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  
Ｂｕｓ）の略でパソコンにおけるインターフェース規格である。それ以前から用いられていたパラレルポートやシリアルポートとの違いは、プラグアンドプレイ対応で電源が入ったままでも脱着可能で、ＵＳＢデバイスを繋げば自動的に周辺機器が認識されドライバがインストールされることである。１９９９年に公開されたＵＳＢ２．０では、伝送速度が最大４８０Ｍｂｐｓまで対応している。
【００３６】
ＵＳＢでは、各周辺機器をパソコン側で正しく認識させるために、ディスクリプタと呼ばれるデータを必ず持っている。本実施例では、ディスクリプタの情報はＥＥＰＲＯＭ３０に格納されており、書き換え可能となっている。
【００３７】
そのディスクリプタの種類とフィールド名、サイズ、説明を（表１）から（表４）に示す。このほかにも、文字列を保持するストリングディスクリプタ（Ｓｔｒｉｎｇ  Ｄｅｓｃｒｉｐｔｏｒ）、デバイスクオリファイアデスクリプタ（Ｄｅｖｉｃｅ  Ｑｕａｌｉｆｉｅｒ  Ｄｅｓｃｒｉｐｔｏｒ）、アザースピードコンフィグレーションデスクリプタ（Ｏｔｈｅｒ  Ｓｐｅｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒ）がある。
【００３８】
【表１】
2005092392.tif 000003
【００３９】
【表２】
2005092392.tif 000004
【００４０】
【表３】
2005092392.tif 000005
【００４１】
【表４】
2005092392.tif 000006
【００４２】
このディスクリプタの中で、（表１）に示したデバイスディスクリプタ（Ｄｅｖｉｃｅ
Ｄｅｓｃｒｉｐｔｏｒ）は、ベンダＩＤ（ｉｄＶｅｎｄｏｒ）やプロダクトＩＤ（ｉｄＰｒｏｄｕｃｔ）、デバイスの版数、コンフィグレーションの個数、各種ストリングディスクリプタのインデクスなどが含まれている。
【００４３】
図２のフローチャートを用いて、パソコン側からＵＳＢデバイスディスクリプタの中のデータを書き換えるＵＳＢディスクリプタ書き換えツールの動作について説明する。
【００４４】
まず、Ｗｉｎｄｏｗｓ（登録商標）を起動し、ＵＳＢ外付け光ディスクドライブを接続する。
【００４５】
Ｗｉｎｄｏｗｓ（登録商標）上でＵＳＢディスクリプタ書き換えツールを起動する（図２、Ｓ１００）。
【００４６】
そうすると、このツールはパソコンのＵＳＢポートに接続されているすべての外付け光ディスクドライブのディスクリプタを読み込む（Ｓ１１０）。すなわち、パソコンにドライブが接続しているかどうかを判断し（Ｓ１２０）、接続されていないと判断したときは、エラーダイアログ画面（図示せず）を表示して終了する（Ｓ１４０）。ドライブが接続されていれば、図３に示すダイアログ画面を作成し表示する（Ｓ１３０）。
【００４７】
この図３に示すＵＳＢディスクリプタ書き換えツール４０について説明する。
【００４８】
領域４１には、上記（Ｓ１１０）で取得したドライブ名、ディスクリプタ情報が表示される。
【００４９】
複数のＵＳＢ接続ドライブが接続されている場合には、ＵＳＢディスクリプタを変更するドライブをコンボボックス５１から選択する。
【００５０】
また、「ドライブ名」の下には、そのドライブの現在のＵＳＢディスクリプタの情報が表示される。
【００５１】
領域４２は、ＵＳＢディスクリプタの変更内容／方法を決めるエリア、領域４３はＵＳＢデバイスディスクリプタを変更するエリアである。領域４２には、「初期値に戻す」選択部５２と「Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｏｒを変更する」選択部５３が表示されており、二者択一となっている。
【００５２】
「初期値に戻す」選択部５２は、無条件に既定値（初期状態）に戻す機能を有するが、既定値は、また別途設定可能とすることができる。「初期値に戻す」選択部５２が選択されている場合には、領域４３はグレーアウトされ、入力できないようになっている。
【００５３】
選択部５３を選択すると、ＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒを変更することができる。
【００５４】
選択部５４では、変更すべきＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒが不明のとき、メーカ名ドライブ名を指定しＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒが変更可能である。これは「直接入力する」選択部５６と二者択一である。選択部５４が選択されている場合には領域４４はグレーアウトされる。
【００５５】
コンボボックス５５では、表示されている中からドライブを選択することができ、指定されたドライブのＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒに変更する。
【００５６】
選択部５６は、コンボボックス５５に目的のドライブがない場合に、ＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒを入力し変更可能とする。
【００５７】
選択部５６が選択された場合には、コンボボックス５５はグレーアウトされる。
【００５８】
入力部５７は、ｉｄｖｅｎｄｏｒを手入力する領域である。入力部５８は、ｉｄＰｒｏｄｕｃｔを手入力する領域である。
【００５９】
ＯＫボタン５９は、領域４２で指定されたＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒをドライブへ書き込む。ただし、書き込み方法に５６が選択されている場合には、入力部５７と入力部５８の両方が設定されていなければならない。どちらか１つでも入力されていなければ、ＯＫボタン５９がクリックされた時、エラーダイアログを表示し、書き込みを行わない。
【００６０】
キャンセルボタン６０は、書き込みを実施せずに終了する機能を有する。
【００６１】
以上の構成のダイアログ画面におけるｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔの欄には、接続されているドライブの現在の値が自動的に読み取られ表示される。ユーザは、パソコンのリカバリのために必要なｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔに変更する。各社の外付けドライブの製品名とｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔの対比表は、別途Ｒｅａｄｍｅファイルとして提供することができる。
【００６２】
図３のダイアログ画面のコンボボックス５５で、各社の外付けドライブ製品名でも指定できるようにすることも可能である。
【００６３】
ダイアログ画面に対してＯＫボタンを押下すると（Ｓ１５０）、書き込むｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔを決定し（Ｓ１６０）、指定されたｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔのコードを外付け光ディスクドライブのメモリに書き込む（Ｓ１７０）。
【００６４】
これにより、パソコンは外付け光ディスクドライブを認識することができ、リカバリを実行することができる。
【００６５】
図４は、図２におけるステップＳ１１０の外付けドライブのディスクリプタを読み込む手順の詳細を示したフローチャートである。
【００６６】
パソコンの全てのＵＳＢポートについて、ＵＳＢ機器が接続されているかどうかを調査
し、接続されていればそのディスクリプタ情報を取得する。全てのＵＳＢポートについて調査する必要があるため、図４の手順をループを繰り返しながら検索する。
【００６７】
まず、ＵＳＢホストコントローラ数：ＨＣＮｕｍを０にリセットする（Ｓ２１０）。次いで、ＵＳＢホストコントローラ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ）をオープンする（Ｓ２２０）。ＵＳＢホストコントローラに接続されているルートハブのシステム名を取得する（Ｓ２３０）。次いで、ＵＳＢホストコントローラに接続されているルートハブをオープンにする（Ｓ２４０）。ルートハブが持つポート数（いくつのポートに分配されているかを示す数）：Ｐｏｒｔ  Ｃｏｕｎｔに、ルートハブのポート数をセットする（Ｓ２５０）。次いで、ポートのカウンタであるＰｏｒｔ  ｉｎｄｅｘを１とする（Ｓ２６０）。
【００６８】
次いで、ポートに接続されているＵＳＢデバイスをオープンにする（Ｓ２７０）。ここで、ＵＳＢデバイスが持っている固有のディスクリプタ情報を取得する（Ｓ２８０）。ポートのカウンタであるＰｏｒｔ  ｉｎｄｅｘに１を加える（Ｓ２９０）。
【００６９】
現在のＰｏｒｔ  ｉｎｄｅｘの値と先に取得したＰｏｒｔ  Ｃｏｕｎｔの値とを比較する（Ｓ３００）。Ｐｏｒｔ  ｉｎｄｅｘの値がＰｏｒｔ  Ｃｏｕｎｔよりも大きくなければＳ２７０からＳ２９０を繰り返す。Ｐｏｒｔ  ｉｎｄｅｘの値がＰｏｒｔ  Ｃｏｕｎｔよりも大きければ、ＵＳＢホストコントローラ数：ＨＣＮｕｍに１を加え（Ｓ３１０）、ＨＣＮｕｍが規定数（ここでは１０）を超えたかどうか判断し（Ｓ３２０）、超えていなければＳ２２０からＳ３１０を繰り返す。ＨＣＮｕｍが規定数（ここでは１０）を超えたら終了する。
【００７０】
このようにして、全てのＵＳＢポートに接続されている機器のディスクリプタ情報を取得する。
【００７１】
図５は、図２におけるステップＳ１７０の、ＵＳＢ外付け光ディスクドライブのディスクリプタであるｉｄＶｅｎｄｏｒとｉｄＰｒｏｄｕｃｔの書き換え手順の詳細を示したフローチャートである。
【００７２】
まず、ＵＳＢデバイス（ここではＵＳＢ外付け光ディスクドライブ）をオープンにする（Ｓ４１０）。次いで、「ドライブの自動挿入」機能をＯＦＦにする（Ｓ４２０）。これは、ディスクリプタ書き換え中に、ＯＳがドライブへアクセスしないようにするためである。次いで、ドライブのＥＥＰＲＯＭ３０に格納されているディスクリプタ情報を、パソコン２０内部のワークメモリに一旦読み込む（Ｓ４３０）。次に、パソコン２０内部のワークメモリ内のデータを、図２のＳ１６０で決定されたＶＩＤ（ｉｄｖｅｎｄｏｒ）とＰＩＤ（ｉｄＰｒｏｄｕｃｔ）に更新する（Ｓ４４０）。リトライ回数を０にセットする（Ｓ４５０）。
【００７３】
次に、パソコン２０内部のワークメモリのデータを光ディスクドライブ１００内部のＥＥＰＲＯＭ３０に書き込む（Ｓ４６０）。次いで、このＥＥＰＲＯＭ３０のデータをパソコン２０内部のベリファイメモリ（Ｖｅｒｉｆｙ  Ｍｅｍｏｒｙ）に読み込む（Ｓ４７０）。
【００７４】
ワークメモリ内のデータとベリファイメモリ内のデータが一致しているかどうかを調べる（Ｓ４８０）。一致しておれば、正常書き込み完了であることをＰＣ２０のディスプレイに表示する（Ｓ５２０）。一致していなければ、リトライ回数に１を加え（Ｓ４９０）、リトライ回数が所定の回数（ここでは１０回）に達したかどうかを判断し、リトライ回数に達するまでＳ４６０からＳ４９０の手順を繰り返す。これは、ＥＥＰＲＯＭ３０への書き込みが正しく行われたかを確認するまで、再度読み出しを行うようにするためである
。リトライ回数が所定の回数（ここでは１０回）に達しても正常書き込みができなかったときは、書き込みエラー表示を行う（Ｓ５１０）。以上の処理の後、デバイスをクローズし（Ｓ５３０）、終了する。
【００７５】
このようにして、ディスクリプタ情報の書き換えを行う。
【００７６】
次に、実際のリカバリ作業の手順を説明する。
【００７７】
まず、準備段階として、パソコンがＵＳＢ外付けドライブからブートするように、パソコンのＢＩＯＳの設定において、起動順番をＵＳＢドライブが先頭になるように変更しておく。
【００７８】
（１）次いで、外付けドライブをパソコンに接続し、１枚目のリカバリＣＤをセットする。
【００７９】
（２）パソコンの電源を入れる。ＢＩＯＳが外付けドライブを認識できれば、ＵＳＢ  ＣＤ−ＲＯＭブートする。多くのＢＩＯＳは、接続されている外付けドライブのインターフェースディスクリプタ内のｂＩｎｔｅｒｆａｃｅＣｌａｓｓが０８（＝Ｓｔａｎｄａｒｄ  Ｍａｓｓ  Ｓｔｏｒａｇｅ）であれば、外付けドライブを認識することができる。
【００８０】
ここで、リカバリＣＤは、ブータブルＣＤでありフロッピー（登録商標）ディスクのようにＣＤ−ＲＯＭから起動できる媒体である。このときＣＤ−ＲＯＭは、フロッピー（登録商標）ディスクエミュレートのブータブルＣＤとなり、フロッピー（登録商標）ディスクエミュレートのＣＤ−ＲＯＭがＡドライブ、ＦＤドライブがＢドライブ、ＨＤＤがＣドライブ、本来のＣＤ−ＲＯＭがＱドライブとなる。
【００８１】
フロッピー（登録商標）ディスク起動と同じようにフロッピー（登録商標）ディスクエミュレートのブータブルＣＤ内にｃｏｎｆｉｇ．ｓｙｓが存在し、ここでドライブを認識するようになっている。
【００８２】
（３）リカバリＣＤのブート可能領域にあるｃｏｎｆｉｇ．ｓｙｓ、  Ａｕｔｏｅｘｅｃ．ｂａｔが起動され、リカバリが開始される。このｃｏｎｆｉｇ．ｓｙｓに外付けドライブを認識するドライバがなければならない。
【００８３】
リカバリＣＤ内のＣｏｎｆｉｇ．ｓｙｓの例を次に記述する。
【００８４】
ＤＥＶＩＣＥ＝  ＨＩＭＥＭ．ＳＹＳ
ＤＥＶＩＣＥ＝  ＥＭＭ３８６．ＥＸＥ  ＮＯＥＭＳ  Ｘ＝  Ｃ８００−ＣＣＦＦ
ＤＥＶＩＣＥＨＩＧＨ＝  ＢＩＬＩＮＧ．ＳＹＳ
ＤＥＶＩＣＥＨＩＧＨ＝  ＪＦＯＮＴ．ＳＹＳ  ／ＭＳＧ＝  ＯＦＦ
ＤＥＶＩＣＥＨＩＧＨ＝  ＪＤＩＳＰ．ＳＹＳ
ＤＥＶＩＣＥＨＩＧＨ＝  ＪＫＥＹＢ．ＳＹＳ  ／１０６  ＪＫＥＹＢＲＤ．ＳＹＳ
ＤＥＶＩＣＥＨＩＧＨ＝  ＡＮＳＩ．ＳＹＳ
ＤＥＶＩＣＥＨＩＧＨ＝  ＲＡＭＤＲＩＶＥ．ＳＹＳ  ／Ｅ  ２０４８
ＬＡＳＴＤＲＩＶＥ＝  Ｚ
ＤＯＳ＝  ＨＩＧＨ，  ＵＭＢ
ＤＥＶＩＣＥＨＩＧＨ＝  Ａ：￥ＲＡＭＦＤ．ＳＹＳ
ＤＥＶＩＣＥＨＩＧＨ＝  Ａ：￥ＵＳＢＡＳＰＩ．ＳＹＳ  ／Ｐ＝１４２０
ＤＥＶＩＣＥＨＩＧＨ＝  Ａ：￥ＵＳＢＣＤ．ＳＹＳ  ／Ｄ：ＭＳＣＤ００１
｜
上記ｃｏｎｆｉｇ．ｓｙｓでは、ＵＳＢＡＳＰＩ．ＳＹＳがＵＳＢ接続されているドライブを認識・駆動するためのドライバである。
【００８５】
認識のために、ＵＳＢ  Ｄｅｖｉｃｅ  Ｄｅｓｃｒｉｐｔｏｒを読み出し、判定している。
【００８６】
ＵＳＢ  ＤＯＳドライバは、外付けドライブに実装されているＵＳＢ  ＡＴＡ  Ｂｒｉｄｇｅ（ＵＳＢ変換チップ）に対応し、パソコンのＵＳＢ  Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  及びハブ（ＨＵＢ）を制御するドライバである。ＵＳＢ  ＤＯＳドライバによっては、特定のＵＳＢ変換チップや特定のベンダＩＤ、プロダクトＩＤをもつドライブでしか動作しないように制限するガード機能を持たせたドライバもある。
【００８７】
Ｃｏｎｆｉｇ．ｓｙｓに登録されているＵＳＢ  ＤＯＳドライバがＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓの外付けドライブを認識し、かつリカバリに使用したい外付けドライブもＭａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓのドライブであれば、デバイスディスクリプタのｉｄｖｅｎｄｏｒとｉｄＰｒｏｄｕｃｔのみを変更すればリカバリできるようになる。Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ以外または、ＣＢＩ転送のドライブでは他のディスクリプタも変更しなければ動作しないため、複雑になる。
【産業上の利用可能性】
【００８８】
本発明は、パソコンの出荷後に開発、販売されたような、新機能を有するがパソコンが認識できないＵＳＢ外付けドライブでも、パソコンに付属しているリカバリＣＤを使用してパソコンのリカバリが可能となる有用な技術として利用することができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施例に係るＵＳＢインターフェース接続の外付け光ディスク装置のブロック図
【図２】本実施例に係るリカバリ方法を実行するためのフローチャート
【図３】本実施例におけるＵＳＢ  Ｄｅｓｃｒｉｐｔｏｒ書き換えツールのディスプレイ画面を示す図
【図４】図２のステップＳ１１０の詳細フローチャート
【図５】図２のステップＳ１７０の詳細フローチャート
【符号の説明】
【００９０】
１    光ディスク
２    フィードモータ
３    スピンドルモータ
４    ピックアップユニット
５    アナログ信号処理部
６    モータ駆動回路
７    アクチュエータ駆動回路
８    駆動系電源回路
９    ＣＤサーボプロセッサ
１０    デジタル信号処理部
１１    バッファメモリ
１２    インターフェース部
１３    メインメモリ
１４    ＣＰＵ
１５    システムバス
１６    ＡＴＡＰＩバス
１７    ＵＳＢ変換ＩＣ
１８    ＵＳＢ信号
１９    ＵＳＢコネクタ
２０    パソコン
２１    ＡＣアダプター
２２    ＤＣジャック
２４    電源端子ＶＢＵＳ
２５    電源起動回路
２６    デジタル系電源回路
３０    ＥＥＰＲＯＭ
４０    ＵＳＢディスクリプタ書き換えツール
４１〜４４    領域
１００    ＵＳＢ外付け光ディスクドライブ
【図１】
2005092392.tif 000007
【図２】
2005092392.tif 000008
【図３】
2005092392.tif 000009
【図４】
2005092392.tif 000010
【図５】
2005092392.tif 000011