JP2005092392A - パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム - Google Patents
パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム Download PDFInfo
- Publication number
- JP2005092392A JP2005092392A JP2003322663A JP2003322663A JP2005092392A JP 2005092392 A JP2005092392 A JP 2005092392A JP 2003322663 A JP2003322663 A JP 2003322663A JP 2003322663 A JP2003322663 A JP 2003322663A JP 2005092392 A JP2005092392 A JP 2005092392A
- Authority
- JP
- Japan
- Prior art keywords
- personal computer
- usb
- optical disk
- drive
- descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】パソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してリカバリができる方法およびプログラムを提供する。
【解決手段】パーソナルコンピュータ(パソコン)20のリカバリ用ソフトウエアを格納した光ディスク1を、パソコン20が認識できないUSB接続の外付け光ディスクドライブ100で読み込んでリカバリを行う際に、USBディスクリプタ書き換えツールを用いて、パソコン20から外付け光ディスクドライブ100の製造メーカおよび製品名を表すデバイスディスクリプタを格納したEEPROM30にアクセスして、パソコン20が認識可能なデバイスディスクリプタに書き換えることにより、外付け光ディスクドライ100を認識できるようになる。
【選択図】図1
【解決手段】パーソナルコンピュータ(パソコン)20のリカバリ用ソフトウエアを格納した光ディスク1を、パソコン20が認識できないUSB接続の外付け光ディスクドライブ100で読み込んでリカバリを行う際に、USBディスクリプタ書き換えツールを用いて、パソコン20から外付け光ディスクドライブ100の製造メーカおよび製品名を表すデバイスディスクリプタを格納したEEPROM30にアクセスして、パソコン20が認識可能なデバイスディスクリプタに書き換えることにより、外付け光ディスクドライ100を認識できるようになる。
【選択図】図1
Description
本発明は、パーソナルコンピュータ(以下、パソコンという)では認識できないUSB(Universal Serial Bus)接続の外付け光ディスクドライブを用いて、パソコンをリカバリするための方法およびその方法を実行するためのUSBディスクリプタ書き換えプログラムに関する。
コンピュータウイルスによりデータやファイルの一部が壊れた場合とか、複数のアプリケーションをインストールしたことによる競合やファイルの上書きにより動作が不安定になった場合などに対処するため、パソコンメーカではパソコンを購入した初期の状態に戻す、いわゆるパソコンのリカバリ手段を提供している。
パソコンのリカバリ手段には以下の方式がある。
(1)ハードディスクリカバリ方式
これは、インストールされるソフトウエアを、ユーザが通常アクセスできないハードディスク領域に予め格納しておき、リカバリが指示されたとき、この領域からソフトウエアを復元するものである(例えば、特許文献1,2参照)。
これは、インストールされるソフトウエアを、ユーザが通常アクセスできないハードディスク領域に予め格納しておき、リカバリが指示されたとき、この領域からソフトウエアを復元するものである(例えば、特許文献1,2参照)。
(2)CD−ROMリカバリ方式
これは、リカバリが必要なときに、CD−ROM(媒体)として製品に同梱されているリカバリ用ソフトウエアを用いて初期状態に復元するものである。
特開2000−181772号公報
特開2002−55863号公報
これは、リカバリが必要なときに、CD−ROM(媒体)として製品に同梱されているリカバリ用ソフトウエアを用いて初期状態に復元するものである。
前記のハードディスクリカバリ方式は、比較的新しい方法であるが、ハードディスク内にあるリカバリデータが壊れてしまう可能性もあるため、パソコンメーカでは、依然としてCD−ROM(媒体)にてリカバリイメージを供給するケースが多い。
また、CD−ROMリカバリ方式は、内蔵ドライブを持つパソコンでは、内蔵ドライブにリカバリCDをセットし、パソコンを起動することによりパソコンを初期状態に戻すことができるが、内蔵ドライブを持たないパソコンでは、外付けドライブを利用するしかない。
パソコンと外付けドライブを接続する方式には、最近ではUSB接続方法が一般的になっている。
外付けドライブを使ってパソコンをリカバリするための条件は次の通りである。
(1)パソコンのBIOS(Basic Input/Output System)が、USBブートを可能にしていること。
(2)BIOSがパソコンのUSBポートに接続されているUSB接続の外付けドライブを認識できること。
(3)セットされているCDがブート可能なCDであること。リカバリCDであれば一般的にはブート可能である。
(4)リカバリCD内のドライバが接続されている外付けドライブを認識可能であること。
パソコンメーカでは、パソコン毎に自社ブランドの周辺機器の1つとして、BIOSレベルでブート可能な外付けドライブを指定しているが、後から発売された外付けドライブでは、転送速度が速くリカバリ時間が短いといった、性能的にも優れているにも拘わらず、パソコンが外付けドライブを認識しないため、リカバリできない場合がある。すなわち、パソコンメーカから供給されたリカバリCDに含まれるリカバリソフトウエアには、USB DOS(Disc Operating System)のドライバに新しい外付けドライブのコードが入っていないためその新しい外付けドライブを認識できない。そして、ユーザは、パソコンメーカが供給しているリカバリCDを、新しい外付けドライブを含むように変更したり作成できないので、パソコンをリカバリさせるためには、ドライブ側でUSB DOSドライバに登録済みのドライブに代えるしかない。
本発明は、パソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してリカバリができるパーソナルコンピュータのリカバリ方法およびその方法を実行するためのUSBディスクリプタ書き換えプログラムを提供することを目的とするものである。
本発明は、リカバリする時だけ、USB外付け光ディスクドライブのディスクリプタを、パソコンのリカバリ仕様に合致するディスクリプタに変更することにより、そのままでは認識できない外付け光ディスクドライブを用いて、パソコンのリカバリが可能となる。
すなわち、上記(1)〜(3)までの必要条件を満たすパソコンにおいて、(4)の条件が満たされるように光ディスクドライブ側で対応することにより、リカバリ可能となるようにするものである。
以上のように本発明のパソコンのリカバリ方法は、パソコンから、外付け光ディスクドライブのデバイスディスクリプタを格納したメモリ手段にアクセスして当該パソコンが認識可能なディスクリプタに書き換えることにより、外付け光ディスクドライを認識できるようになる。したがって、パソコンの出荷後に開発、販売されたような、新機能を有するがパソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してパソコンのリカバリが可能となる。
上記課題を解決するためになされた請求項1の発明は、パーソナルコンピュータのリカバリ用ソフトウエアを格納した光ディスクを、前記パーソナルコンピュータが認識できないUSB接続の外付け光ディスクドライブで読み込んでリカバリを行うパーソナルコンピュータのリカバリ方法であって、当該パーソナルコンピュータを起動する工程と、前記USB接続の外付け光ディスクドライブを当該パーソナルコンピュータに接続する工程と、USBディスクリプタ書き換えツールを用いて、当該パーソナルコンピュータから、前記外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを格納したメモリ手段にアクセスして当該パーソナルコンピュータが認識可能なデバイスディスクリプタに書き換える工程と、当該パーソナルコンピュータを前記外付け光ディスクド
ライブに装着した光ディスクに格納された前記リカバリ用ソフトウエアを用いてリカバリを行うことを特徴とするパーソナルコンピュータのリカバリ方法としたものであり、パソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してリカバリができるという効果を有するものである。
ライブに装着した光ディスクに格納された前記リカバリ用ソフトウエアを用いてリカバリを行うことを特徴とするパーソナルコンピュータのリカバリ方法としたものであり、パソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してリカバリができるという効果を有するものである。
上記課題を解決するためになされた請求項2の発明は、請求項1の発明において、USBディスクリプタ書き換えツールは、USB接続された外付け光ディスクドライブのドライブ名を表示するドライブ名表示手段と、当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するデバイスディスクリプタ変更手段と、このデバイスディスクリプタ変更手段で書き換えられたデバイスディスクリプタに基づいて外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込む手段とを備えたことを特徴とするパーソナルコンピュータのリカバリ方法としたものであり、プログラムを直接編集しなくても、デバイスディスクリプタの変更を簡単に行うことができるという効果を有するものである。
上記課題を解決するためになされた請求項3の発明は、請求項2の発明において、デバイスディスクリプタ変更手段は、予めメーカ名、ドライブ名に対するデバイスディスクリプタを記述したテーブルを設け、メーカ名、ドライブ名を選択したときにそのメーカ名、ドライブ名に対応するデバイスディスクリプタを光ディスクドライブのメモリに書き込むようにするもので、予め自社の製品などでデバイスディスクリプタがわかっているときは、その情報を組み込んでおくことで、手入力の手間が省けるという効果を有する。
上記課題を解決するためになされた請求項4の発明は、請求項2の発明において、前記デバイスディスクリプタ変更手段は、デバイスディスクリプタを直接入力する手段を設けていることを特徴とするもので、他社メーカの外付け光ディスクドライブについては、手入力で書き換えを行うことができるという効果を有する。
上記課題を解決するためになされた請求項5の発明は、請求項2の発明において、デバイスディスクリプタ変更手段は、メーカ名、ドライブ名を選択する手段とデバイスディスクリプタを直接入力する手段とを選択することができるようにしたもので、請求項3の発明と請求項4の発明の両方の効果を併せ持つ。
上記課題を解決するためになされた請求項6の発明は、請求項1から請求項5のいずれかの発明において、リカバリ終了後、デバイスディスクリプタを、書き換える前の出荷時の初期値に戻す手段を備えたものである。ディスクリプタを変更したまま通常動作で使用することは、外付けドライブに添付している書き込みソフト等のアプリケーションが正常に動作しないことが想定されるため、リカバリ後に、自動的に出荷時の初期値に戻すことができるようにすることで、元の状態を記録していなくても初期化が可能となる。
上記課題を解決するためになされた請求項7の発明は、USB接続された外付け光ディスクドライブのドライブ名を表示するステップと、当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するステップと、書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込むステップとをコンピュータにより実行するためのUSBディスクリプタ書き換えプログラムとしたもので、このプログラムをインストールすることにより、パソコンによる請求項1から請求項6の発明の実行が可能となる。
以下、本発明の実施例について、各図に基づいて説明する。
図1は本発明の実施例に係るUSBインターフェース接続の外付け光ディスク装置のブロック図、図2は本実施例に係るリカバリ方法を実行するためのフローチャート、図3は本実施例におけるUSB Descriptor書き換えツールのディスプレイ画面を示す図、図4は図2のステップS110の詳細フローチャート、図5は図2のステップS170の詳細フローチャートを示している。
図1において、破線内がUSB外付け光ディスクドライブ(以下、単に「光ディスクドライブ」ということがある)100であり、USBコネクタ19によりパソコン20と外部接続できるようになっている。
光ディスクドライブ100は、光ディスク1を駆動するスピンドルモータ3と、光ディスク1に対して記録および再生を行うピックアップユニット4を駆動するフィードモータ2と、フィードモータ2およびスピンドルモータ3を駆動制御するモータ駆動回路6を有している。ピックアップユニット4は、アクチュエータ駆動回路7で駆動される。モータ駆動回路6、アクチュエータ駆動回路7をサーボ制御するものがCDサーボプロセッサ9である。また、モータ駆動回路7に電力を供給するのが駆動系電源回路8である。
また、光ディスクドライブ100は、記憶領域、記録制御、再生制御に必要な記憶領域として使用されるバッファメモリ11と、制御プログラム、ならびに光ディスク記録装置のための記録制御プログラムを記憶したプログラム記憶エリアを有するメインメモリ13と、論理判断や演算を行うCPU14を有している。
光ディスク1とピックアップユニット4から得られる光信号はアナログ信号処理部5で信号処理され、CDサーボプロセッサ9のフィードバック信号として使われると共に、デジタル信号処理部10の入力信号となりデジタル信号へ復調され、その結果がバッファメモリ11へ格納される。このバッファメモリ11は記録データ、および復調したデータを一時記憶するためのメモリとして機能する。これらのデータはインターフェース部12を経由し、ATAPIバス16を使った通信でUSB変換IC17とデータの受け渡しを行う。
USB変換IC17は、受けたATAPI信号をUSB信号18へ変換し、USBコネクタ19を通し、USBケーブルによって外部のパソコン20と接続されデータの受け渡しを行う。EEPROM(Electrically Erasable Programmable Read−Only Memory)30は、書き換え可能な不揮発メモリであり、本発明の実施に必要なディスクリプタ情報が格納されている。
システムバス15は、光ディスク装置内でのデータ転送用バスである。メインメモリ13に記録されたプログラムにより、CPU14がデジタル信号処理部の制御を行う。デジタル系電源回路26はCPU14、デジタル信号処理部10、メインメモリ13等、デジタル信号処理部に対し各種の電圧を安定供給する。
これらの装置を動かす回路部分へ供給される電圧は、ACアダプター21でAC100Vから例えばDC6Vへ変換され、DCジャック22より光ディスクドライブ100へ供給される。電源起動回路25はUSBコネクタ19の電源端子VBUS24の電圧に連動し、光ディスクドライブ100の駆動系電源回路8、デジタル系電源回路26に電圧を供給するもので、USB電源のON/OFFに連動し自動的に光ディスクドライブ100を起動及び終了させる。
ここで、USBとはユニバーサルシリアルバス(Universal Serial
Bus)の略でパソコンにおけるインターフェース規格である。それ以前から用いられていたパラレルポートやシリアルポートとの違いは、プラグアンドプレイ対応で電源が入ったままでも脱着可能で、USBデバイスを繋げば自動的に周辺機器が認識されドライバがインストールされることである。1999年に公開されたUSB2.0では、伝送速度が最大480Mbpsまで対応している。
Bus)の略でパソコンにおけるインターフェース規格である。それ以前から用いられていたパラレルポートやシリアルポートとの違いは、プラグアンドプレイ対応で電源が入ったままでも脱着可能で、USBデバイスを繋げば自動的に周辺機器が認識されドライバがインストールされることである。1999年に公開されたUSB2.0では、伝送速度が最大480Mbpsまで対応している。
USBでは、各周辺機器をパソコン側で正しく認識させるために、ディスクリプタと呼ばれるデータを必ず持っている。本実施例では、ディスクリプタの情報はEEPROM30に格納されており、書き換え可能となっている。
そのディスクリプタの種類とフィールド名、サイズ、説明を(表1)から(表4)に示す。このほかにも、文字列を保持するストリングディスクリプタ(String Descriptor)、デバイスクオリファイアデスクリプタ(Device Qualifier Descriptor)、アザースピードコンフィグレーションデスクリプタ(Other Speed Configuration Descriptor)がある。
このディスクリプタの中で、(表1)に示したデバイスディスクリプタ(Device
Descriptor)は、ベンダID(idVendor)やプロダクトID(idProduct)、デバイスの版数、コンフィグレーションの個数、各種ストリングディスクリプタのインデクスなどが含まれている。
Descriptor)は、ベンダID(idVendor)やプロダクトID(idProduct)、デバイスの版数、コンフィグレーションの個数、各種ストリングディスクリプタのインデクスなどが含まれている。
図2のフローチャートを用いて、パソコン側からUSBデバイスディスクリプタの中のデータを書き換えるUSBディスクリプタ書き換えツールの動作について説明する。
まず、Windows(登録商標)を起動し、USB外付け光ディスクドライブを接続する。
Windows(登録商標)上でUSBディスクリプタ書き換えツールを起動する(図2、S100)。
そうすると、このツールはパソコンのUSBポートに接続されているすべての外付け光ディスクドライブのディスクリプタを読み込む(S110)。すなわち、パソコンにドライブが接続しているかどうかを判断し(S120)、接続されていないと判断したときは、エラーダイアログ画面(図示せず)を表示して終了する(S140)。ドライブが接続されていれば、図3に示すダイアログ画面を作成し表示する(S130)。
この図3に示すUSBディスクリプタ書き換えツール40について説明する。
領域41には、上記(S110)で取得したドライブ名、ディスクリプタ情報が表示される。
複数のUSB接続ドライブが接続されている場合には、USBディスクリプタを変更するドライブをコンボボックス51から選択する。
また、「ドライブ名」の下には、そのドライブの現在のUSBディスクリプタの情報が表示される。
領域42は、USBディスクリプタの変更内容/方法を決めるエリア、領域43はUSBデバイスディスクリプタを変更するエリアである。領域42には、「初期値に戻す」選択部52と「Device Descriptorを変更する」選択部53が表示されており、二者択一となっている。
「初期値に戻す」選択部52は、無条件に既定値(初期状態)に戻す機能を有するが、既定値は、また別途設定可能とすることができる。「初期値に戻す」選択部52が選択されている場合には、領域43はグレーアウトされ、入力できないようになっている。
選択部53を選択すると、USB Descriptorを変更することができる。
選択部54では、変更すべきUSB Descriptorが不明のとき、メーカ名ドライブ名を指定しUSB Descriptorが変更可能である。これは「直接入力する」選択部56と二者択一である。選択部54が選択されている場合には領域44はグレーアウトされる。
コンボボックス55では、表示されている中からドライブを選択することができ、指定されたドライブのUSB Descriptorに変更する。
選択部56は、コンボボックス55に目的のドライブがない場合に、USB Descriptorを入力し変更可能とする。
選択部56が選択された場合には、コンボボックス55はグレーアウトされる。
入力部57は、idvendorを手入力する領域である。入力部58は、idProductを手入力する領域である。
OKボタン59は、領域42で指定されたUSB Descriptorをドライブへ書き込む。ただし、書き込み方法に56が選択されている場合には、入力部57と入力部58の両方が設定されていなければならない。どちらか1つでも入力されていなければ、OKボタン59がクリックされた時、エラーダイアログを表示し、書き込みを行わない。
キャンセルボタン60は、書き込みを実施せずに終了する機能を有する。
以上の構成のダイアログ画面におけるidvendorとidProductの欄には、接続されているドライブの現在の値が自動的に読み取られ表示される。ユーザは、パソコンのリカバリのために必要なidvendorとidProductに変更する。各社の外付けドライブの製品名とidvendorとidProductの対比表は、別途Readmeファイルとして提供することができる。
図3のダイアログ画面のコンボボックス55で、各社の外付けドライブ製品名でも指定できるようにすることも可能である。
ダイアログ画面に対してOKボタンを押下すると(S150)、書き込むidvendorとidProductを決定し(S160)、指定されたidvendorとidProductのコードを外付け光ディスクドライブのメモリに書き込む(S170)。
これにより、パソコンは外付け光ディスクドライブを認識することができ、リカバリを実行することができる。
図4は、図2におけるステップS110の外付けドライブのディスクリプタを読み込む手順の詳細を示したフローチャートである。
パソコンの全てのUSBポートについて、USB機器が接続されているかどうかを調査
し、接続されていればそのディスクリプタ情報を取得する。全てのUSBポートについて調査する必要があるため、図4の手順をループを繰り返しながら検索する。
し、接続されていればそのディスクリプタ情報を取得する。全てのUSBポートについて調査する必要があるため、図4の手順をループを繰り返しながら検索する。
まず、USBホストコントローラ数:HCNumを0にリセットする(S210)。次いで、USBホストコントローラ(Host Controller)をオープンする(S220)。USBホストコントローラに接続されているルートハブのシステム名を取得する(S230)。次いで、USBホストコントローラに接続されているルートハブをオープンにする(S240)。ルートハブが持つポート数(いくつのポートに分配されているかを示す数):Port Countに、ルートハブのポート数をセットする(S250)。次いで、ポートのカウンタであるPort indexを1とする(S260)。
次いで、ポートに接続されているUSBデバイスをオープンにする(S270)。ここで、USBデバイスが持っている固有のディスクリプタ情報を取得する(S280)。ポートのカウンタであるPort indexに1を加える(S290)。
現在のPort indexの値と先に取得したPort Countの値とを比較する(S300)。Port indexの値がPort Countよりも大きくなければS270からS290を繰り返す。Port indexの値がPort Countよりも大きければ、USBホストコントローラ数:HCNumに1を加え(S310)、HCNumが規定数(ここでは10)を超えたかどうか判断し(S320)、超えていなければS220からS310を繰り返す。HCNumが規定数(ここでは10)を超えたら終了する。
このようにして、全てのUSBポートに接続されている機器のディスクリプタ情報を取得する。
図5は、図2におけるステップS170の、USB外付け光ディスクドライブのディスクリプタであるidVendorとidProductの書き換え手順の詳細を示したフローチャートである。
まず、USBデバイス(ここではUSB外付け光ディスクドライブ)をオープンにする(S410)。次いで、「ドライブの自動挿入」機能をOFFにする(S420)。これは、ディスクリプタ書き換え中に、OSがドライブへアクセスしないようにするためである。次いで、ドライブのEEPROM30に格納されているディスクリプタ情報を、パソコン20内部のワークメモリに一旦読み込む(S430)。次に、パソコン20内部のワークメモリ内のデータを、図2のS160で決定されたVID(idvendor)とPID(idProduct)に更新する(S440)。リトライ回数を0にセットする(S450)。
次に、パソコン20内部のワークメモリのデータを光ディスクドライブ100内部のEEPROM30に書き込む(S460)。次いで、このEEPROM30のデータをパソコン20内部のベリファイメモリ(Verify Memory)に読み込む(S470)。
ワークメモリ内のデータとベリファイメモリ内のデータが一致しているかどうかを調べる(S480)。一致しておれば、正常書き込み完了であることをPC20のディスプレイに表示する(S520)。一致していなければ、リトライ回数に1を加え(S490)、リトライ回数が所定の回数(ここでは10回)に達したかどうかを判断し、リトライ回数に達するまでS460からS490の手順を繰り返す。これは、EEPROM30への書き込みが正しく行われたかを確認するまで、再度読み出しを行うようにするためである
。リトライ回数が所定の回数(ここでは10回)に達しても正常書き込みができなかったときは、書き込みエラー表示を行う(S510)。以上の処理の後、デバイスをクローズし(S530)、終了する。
。リトライ回数が所定の回数(ここでは10回)に達しても正常書き込みができなかったときは、書き込みエラー表示を行う(S510)。以上の処理の後、デバイスをクローズし(S530)、終了する。
このようにして、ディスクリプタ情報の書き換えを行う。
次に、実際のリカバリ作業の手順を説明する。
まず、準備段階として、パソコンがUSB外付けドライブからブートするように、パソコンのBIOSの設定において、起動順番をUSBドライブが先頭になるように変更しておく。
(1)次いで、外付けドライブをパソコンに接続し、1枚目のリカバリCDをセットする。
(2)パソコンの電源を入れる。BIOSが外付けドライブを認識できれば、USB CD−ROMブートする。多くのBIOSは、接続されている外付けドライブのインターフェースディスクリプタ内のbInterfaceClassが08(=Standard Mass Storage)であれば、外付けドライブを認識することができる。
ここで、リカバリCDは、ブータブルCDでありフロッピー(登録商標)ディスクのようにCD−ROMから起動できる媒体である。このときCD−ROMは、フロッピー(登録商標)ディスクエミュレートのブータブルCDとなり、フロッピー(登録商標)ディスクエミュレートのCD−ROMがAドライブ、FDドライブがBドライブ、HDDがCドライブ、本来のCD−ROMがQドライブとなる。
フロッピー(登録商標)ディスク起動と同じようにフロッピー(登録商標)ディスクエミュレートのブータブルCD内にconfig.sysが存在し、ここでドライブを認識するようになっている。
(3)リカバリCDのブート可能領域にあるconfig.sys、 Autoexec.batが起動され、リカバリが開始される。このconfig.sysに外付けドライブを認識するドライバがなければならない。
リカバリCD内のConfig.sysの例を次に記述する。
DEVICE= HIMEM.SYS
DEVICE= EMM386.EXE NOEMS X= C800−CCFF
DEVICEHIGH= BILING.SYS
DEVICEHIGH= JFONT.SYS /MSG= OFF
DEVICEHIGH= JDISP.SYS
DEVICEHIGH= JKEYB.SYS /106 JKEYBRD.SYS
DEVICEHIGH= ANSI.SYS
DEVICEHIGH= RAMDRIVE.SYS /E 2048
LASTDRIVE= Z
DOS= HIGH, UMB
DEVICEHIGH= A:¥RAMFD.SYS
DEVICEHIGH= A:¥USBASPI.SYS /P=1420
DEVICEHIGH= A:¥USBCD.SYS /D:MSCD001
|
上記config.sysでは、USBASPI.SYSがUSB接続されているドライブを認識・駆動するためのドライバである。
DEVICE= EMM386.EXE NOEMS X= C800−CCFF
DEVICEHIGH= BILING.SYS
DEVICEHIGH= JFONT.SYS /MSG= OFF
DEVICEHIGH= JDISP.SYS
DEVICEHIGH= JKEYB.SYS /106 JKEYBRD.SYS
DEVICEHIGH= ANSI.SYS
DEVICEHIGH= RAMDRIVE.SYS /E 2048
LASTDRIVE= Z
DOS= HIGH, UMB
DEVICEHIGH= A:¥RAMFD.SYS
DEVICEHIGH= A:¥USBASPI.SYS /P=1420
DEVICEHIGH= A:¥USBCD.SYS /D:MSCD001
|
上記config.sysでは、USBASPI.SYSがUSB接続されているドライブを認識・駆動するためのドライバである。
認識のために、USB Device Descriptorを読み出し、判定している。
USB DOSドライバは、外付けドライブに実装されているUSB ATA Bridge(USB変換チップ)に対応し、パソコンのUSB Host Controller 及びハブ(HUB)を制御するドライバである。USB DOSドライバによっては、特定のUSB変換チップや特定のベンダID、プロダクトIDをもつドライブでしか動作しないように制限するガード機能を持たせたドライバもある。
Config.sysに登録されているUSB DOSドライバがMass Storage Classの外付けドライブを認識し、かつリカバリに使用したい外付けドライブもMass Storage Classのドライブであれば、デバイスディスクリプタのidvendorとidProductのみを変更すればリカバリできるようになる。Mass Storage Class以外または、CBI転送のドライブでは他のディスクリプタも変更しなければ動作しないため、複雑になる。
本発明は、パソコンの出荷後に開発、販売されたような、新機能を有するがパソコンが認識できないUSB外付けドライブでも、パソコンに付属しているリカバリCDを使用してパソコンのリカバリが可能となる有用な技術として利用することができる。
1 光ディスク
2 フィードモータ
3 スピンドルモータ
4 ピックアップユニット
5 アナログ信号処理部
6 モータ駆動回路
7 アクチュエータ駆動回路
8 駆動系電源回路
9 CDサーボプロセッサ
10 デジタル信号処理部
11 バッファメモリ
12 インターフェース部
13 メインメモリ
14 CPU
15 システムバス
16 ATAPIバス
17 USB変換IC
18 USB信号
19 USBコネクタ
20 パソコン
21 ACアダプター
22 DCジャック
24 電源端子VBUS
25 電源起動回路
26 デジタル系電源回路
30 EEPROM
40 USBディスクリプタ書き換えツール
41〜44 領域
100 USB外付け光ディスクドライブ
2 フィードモータ
3 スピンドルモータ
4 ピックアップユニット
5 アナログ信号処理部
6 モータ駆動回路
7 アクチュエータ駆動回路
8 駆動系電源回路
9 CDサーボプロセッサ
10 デジタル信号処理部
11 バッファメモリ
12 インターフェース部
13 メインメモリ
14 CPU
15 システムバス
16 ATAPIバス
17 USB変換IC
18 USB信号
19 USBコネクタ
20 パソコン
21 ACアダプター
22 DCジャック
24 電源端子VBUS
25 電源起動回路
26 デジタル系電源回路
30 EEPROM
40 USBディスクリプタ書き換えツール
41〜44 領域
100 USB外付け光ディスクドライブ
Claims (7)
- パーソナルコンピュータのリカバリ用ソフトウエアを格納した光ディスクを、前記パーソナルコンピュータが認識できないUSB接続の外付け光ディスクドライブで読み込んでリカバリを行うパーソナルコンピュータのリカバリ方法であって、
当該パーソナルコンピュータを起動する工程と、
前記USB接続の外付け光ディスクドライブを当該パーソナルコンピュータに接続する工程と、
USBディスクリプタ書き換えツールを用いて、当該パーソナルコンピュータから、前記外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを格納したメモリ手段にアクセスして当該パーソナルコンピュータが認識可能なデバイスディスクリプタに書き換える工程と、
当該パーソナルコンピュータを前記外付け光ディスクドライブに装着した光ディスクに格納された前記リカバリ用ソフトウエアを用いてリカバリを行うことを特徴とするパーソナルコンピュータのリカバリ方法。 - 前記USBディスクリプタ書き換えツールは、
USB接続された前記外付け光ディスクドライブのドライブ名を表示するドライブ名表示手段と、
当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するデバイスディスクリプタ変更手段と、
このデバイスディスクリプタ変更手段で書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込む手段とを備えたことを特徴とする請求項1記載のパーソナルコンピュータのリカバリ方法。 - 前記デバイスディスクリプタ変更手段は、予めメーカ名、ドライブ名に対するデバイスディスクリプタを記述したテーブルを設け、メーカ名、ドライブ名を選択したときにそのメーカ名、ドライブ名に対応するデバイスディスクリプタを光ディスクドライブのメモリに書き込むようにするものである請求項2記載のパーソナルコンピュータのリカバリ方法。
- 前記デバイスディスクリプタ変更手段は、デバイスディスクリプタを直接入力する手段を設けていることを特徴とする請求項2記載のパーソナルコンピュータのリカバリ方法。
- 前記デバイスディスクリプタ変更手段は、メーカ名、ドライブ名を選択する手段とデバイスディスクリプタを直接入力する手段とを選択することができるようにしたことを特徴とする請求項2記載のパーソナルコンピュータのリカバリ方法。
- リカバリ終了後、前記デバイスディスクリプタを、書き換える前の工場出荷時の初期値に戻す手段を備えたことを特徴とする請求項1から5のいずれかの項に記載のパーソナルコンピュータのリカバリ方法。
- USB接続された外付け光ディスクドライブのドライブ名を表示するステップと、
当該外付け光ディスクドライブの製造メーカおよび製品名を表すデバイスディスクリプタを書き換えるための入力窓を表示するステップと、
書き換えられたデバイスディスクリプタに基づいて前記外付け光ディスクドライブのメモリにデバイスディスクリプタを書き込むステップと
をコンピュータにより実行することを特徴とするUSBディスクリプタ書き換えプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003322663A JP2005092392A (ja) | 2003-09-16 | 2003-09-16 | パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003322663A JP2005092392A (ja) | 2003-09-16 | 2003-09-16 | パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005092392A true JP2005092392A (ja) | 2005-04-07 |
Family
ID=34453945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003322663A Pending JP2005092392A (ja) | 2003-09-16 | 2003-09-16 | パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005092392A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350898A (ja) * | 2005-06-20 | 2006-12-28 | Fujitsu Ltd | 記憶装置 |
JP2007041789A (ja) * | 2005-08-02 | 2007-02-15 | Funai Electric Co Ltd | 光ディスク装置 |
JP2009217340A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | ファイル不正防止装置、ファイル不正防止方法およびプログラム |
JP2013045464A (ja) * | 2011-08-23 | 2013-03-04 | ▲華▼▲為▼終端有限公司 | データカードとホストとの間の通信異常、及びデータカードの異常の回復のための方法 |
CN114064549A (zh) * | 2021-11-23 | 2022-02-18 | 上海闻泰电子科技有限公司 | 设备描述信息的转换方法、装置、计算机设备和介质 |
-
2003
- 2003-09-16 JP JP2003322663A patent/JP2005092392A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006350898A (ja) * | 2005-06-20 | 2006-12-28 | Fujitsu Ltd | 記憶装置 |
JP4672454B2 (ja) * | 2005-06-20 | 2011-04-20 | 東芝ストレージデバイス株式会社 | 記憶装置 |
JP2007041789A (ja) * | 2005-08-02 | 2007-02-15 | Funai Electric Co Ltd | 光ディスク装置 |
JP4655808B2 (ja) * | 2005-08-02 | 2011-03-23 | 船井電機株式会社 | 光ディスク装置 |
US7965588B2 (en) | 2005-08-02 | 2011-06-21 | Funai Electric Co., Ltd. | Optical disk apparatus |
JP2009217340A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | ファイル不正防止装置、ファイル不正防止方法およびプログラム |
JP2013045464A (ja) * | 2011-08-23 | 2013-03-04 | ▲華▼▲為▼終端有限公司 | データカードとホストとの間の通信異常、及びデータカードの異常の回復のための方法 |
US9058264B2 (en) | 2011-08-23 | 2015-06-16 | Huawei Device Co., Ltd. | Method for repairing communication abnormality between data card and host and data card |
CN114064549A (zh) * | 2021-11-23 | 2022-02-18 | 上海闻泰电子科技有限公司 | 设备描述信息的转换方法、装置、计算机设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7606946B2 (en) | Removable device and program startup method | |
US5867730A (en) | Method for configuration of peripherals by interpreting response from peripherals to enable selection of driver file and altering configuration file to enable loading of selected driver file | |
JP5140100B2 (ja) | 多機能半導体記憶装置 | |
KR100450080B1 (ko) | 유에스비기반의 이동형 저장장치 및 그 제어방법 | |
US6839864B2 (en) | Field-operable, stand-alone apparatus for media recovery and regeneration | |
KR101087431B1 (ko) | 반도체 저장 장치를 이용한 자동실행 방법 | |
US8266611B2 (en) | Hard disk drive with disk embedded DOS boot image and firmware download method | |
JP2000242598A (ja) | ファームウェア更新システムおよびその更新方法 | |
US20070043889A1 (en) | Information processing apparatus and access method | |
US20120005468A1 (en) | Storage device with multiple storage units and control method thereof | |
JP2007514217A (ja) | データ処理装置とコンピュータとの間のデータ交換方法 | |
WO1997038367A1 (fr) | Unite de disques et ordinateur | |
US20090193152A1 (en) | External device with a driver auto-run installation and method thereof | |
TWI450194B (zh) | 作業系統處理方法以及系統、以及儲存其之電腦可讀取記錄媒體 | |
WO2006040758A2 (en) | Adaptive booting from mass storage device | |
KR101026321B1 (ko) | 유저 인터페이스를 구비한 이동식 장치 | |
JP2005092392A (ja) | パーソナルコンピュータのリカバリ方法およびusbディスクリプタ書き換えプログラム | |
JP6036222B2 (ja) | デバイス制御装置、ホスト装置およびホスト装置の制御方法 | |
US20080301358A1 (en) | Electronic device that Downloads Operational Firmware from an External Host | |
JP5794266B2 (ja) | Usbホスト装置、及びusbホスト装置用のプログラム | |
US6754726B1 (en) | Versatile memory chip programming device and method | |
JP2004213604A (ja) | 記憶モジュールを周辺装置に内蔵させるプラグアンドプレイ接続構造及びその方法 | |
JP4276219B2 (ja) | Usbストレージデバイスの内部状態設定方法 | |
KR100692958B1 (ko) | 에물레이터를 갖는 휴대용 반도체 메모리 저장 장치 | |
JP2007207089A (ja) | 外部記憶装置コントローラおよびプログラム |