デバイスドライバの知識
このページでは、デバイスドライバについて解説します。ドライバーの知識が身につくとOSのアップグレードやドライバの更新が容易に行えるようになり、それらに起因するトラブルの見極めもできるようになります。BIOSをマスターしたら是非ドライバも理解してください。 (このページの内容は、予告なしに変更されます。)問い合わせはこちらまで
●デバイスドライバとは?
○モノシリック ドライバ
これは、Windows 3.1の時代のドライバである。当時はOSが未熟であったため、ドライバがすべてのサービス、ユーザーインターフェイス、API
(Application Programming Interface) 関数、ハードウェアアクセスサービスを提供してやる必要があった。このため、ハードウェアベンダ(メーカー)にとってドライバの開発は大変負担となっていた。(ハードウェアは完成しても、ドライバの開発ががなかなか追いつかないということもあった。)
その後、ドライバの標準化が進行し、Windows 95 以降、ユニバーサルドライバ/ミニドライバ・アーキテクチャが確立し実装された。この結果、ドライバとして必要な多くの部分があらかじめ提供されることになり、各ハードウェアベンダは、ハードウェアのデバイス固有のコード(プログラム)を提供するだけで済むようになった。
○ユニバーサルドライバ
ユニバーサルドライバには、OSの各コンポーネント(プリンタなどの周辺機器や通信サブシステムなど)とのコミュニケーションを行うために、特定のデバイスクラスで必要となるドライバのコードのほとんどが含まれている。ミニドライバは、仕組みが簡単なドライバで、容量が小さく、特定のデバイスで必要とされる特別な命令が含まれている。
多くの場合、特定のデバイスカテゴリのユニバーサルドライバには、そのカテゴリで標準規格として設計されたデバイスを動作させるのに必要なコードも含まれる。(たとえば「Unimodem」ドライバは、AT
コマンドをサポートするすべてのモデムで動作する。)
○仮想ドライバ
このドライバは、Windows のエラーメッセージによく出てくるので覚えておいてください。
仮想デバイスドライバ (VxD) は、複数のプログラムが同時にリソースを使用できるよう、ハードウェアデバイスやプログラムなどのシステムリソースを管理する32ビットのプロテクトモードドライバです。(ユーザーが直接このファイルに触れることはまずない。)
"VxD" という拡張子は、汎用の仮想デバイスドライバであることを示している。「x」 には、デバイスドライバの種類が入る。たとえば、ディスプレイ・アダプタの仮想デバイスドライバは
VDD (Virtual Display Driver: 仮想ディスプレイ ドライバ)、タイマー・デバイスの仮想デバイスドライバは VTD、プリンタデバイスの仮想デバイスドライバは
VPD などと呼ばれる。仮想ドライバが動的にデバイスドライバをサポートし、仮想デバイスが、特定のデバイスを使用するプログラムのためにデバイスの状態を監視する。
○Win32 ドライバモデル
Windows 98 および Windows Me では、Win32 ドライバモデル(WDM) アーキテクチャも採用している。(Windows
2000 ではこのドライバモデルでなければ稼働しない。) このアーキテクチャにより、Windows 98/Me と Windows
2000/XP で稼働する入出力サービスの共通セットが提供される。WDM アーキテクチャの採用により、開発者は、1つのデバイスドライバを開発するだけで、そのドライバを複数のOSに対応させることができる。
○ヒューマン・インターフェイス・デバイスドライバ
Windows 98、および Windows Me では、ヒューマン・インターフェイス・デバイス (HID) のデバイスクラスをサポートしている。HID
のデバイスクラスとは、キーボード、マウス デバイス、ジョイスティック、ゲーム パッドなどの入力デバイスの規格である。(「デバイスマネージャ」タブに表示されている場合もある。)
Windows 環境では、次のような方法でドライバをインストールすることができる。それぞれのデバイスのインストール手順や Readme ファイルを参照して適切な方法を選んでください。(参照:Driver
Search Japan)
○セットアップファイルを起動して行う場合
初めてデバイスを接続した場合など、通常のアプリケーションと同様にインストールメディア(CD-ROMなど)を自動起動して、またはセットアップファイル(Setup.exe
など)を起動して行う場合が多い。プリンタ、イメージ機器などのオプションデバイスは、ほとんどこのパターンである。(他のユーティリティや関連アプリケーションと同一のCD-ROMに含まれることが多い。)
○「システム」のプロファイルから行う場合
アップデータや内蔵部品のドライバなどはこのパターンが多い。この方法がわからずに、モニタなど、「標準モニタ」のままで使用している例もある。(正しいドライバをインストールしないとデバイスの本来の能力を殺して使用することになる。) この方法を実行する前に、まず、デバイスの名前(機種名)、ドライバのバージョン、そのデバイスの制限についての知識を習得しなければならない。異なる機種のドライバをインストールしたり、誤って古いドライバをインストールしてしまう場合もあるので注意してください。
1. 「システム」の「デバイスマネージャ」タブを開く。
2.デバイスカテゴリー(「モニタ」、「モデム」など)をクリックし、更新するデバイスをクリックする。
3.「ドライバ」タブを開き、「ドライバの更新」をクリックする。
4.ドライバのファイルの含まれるメディアがあれば挿入する。
5.「デバイスドライバの更新ウイザード」で「適切なドライバを自動的に検索する(推奨)」にチェックし「次へ」をクリック。(INFファイルが見つかればそのままインストールして完了。)
6.見つからない場合は、戻って「ドライバの場所を指定する」にチェックし「次へ」をクリック。
7.「特定の...」にチェックし、「次へ」をクリックし、「互換性のある..」または「すべての..」の一覧から選択して「次へ」。(選択したデバイスが正しければこれでインストール完了。疑惑のメッセージが表示されたら中断して調査。)
○Windows が自動的にインストールする場合
これはもっとも手間のかからないインストール方法で、対象がプラグアンドプレイ機器を装着して起動した場合に自動実行される。(BIOSがプラグアンドプレイOSを使うように設定されていることが前提。) プラグアンドプレイ機能に対応しているデバイスを装着すると、Windows
が自動的に感知して必要なドライバをインストールしようとする。Windows がドライバファイルを見つけることができない場合は、メッセージに基づいて、CD-ROMを挿入するなどしてファイルを準備し、その場所(ドライブ、フォルダ)を教えてやる必要がある。
○古いドライバはトラブルの原因
パソコンで発生するトラブルの内、ドライバに起因するものは非常に多い。青画面のエラーメッセージや通常のエラーダイアログで「VxD」を見たら、仮想デバイスドライバを疑ってみよう。また、何かの理由でドライバが起動していなかったり正常に稼働していない場合は、「システム」のデバイスマネージャ・タブから検索する、起動ログファイル(「Bootlog.txt」)を「failed」で検索する、などにより確認することができる。特に、Windows
のCDに含まれないドライバやCDに含まれるがアップデートが必要なドライバは、別途入手しなければならない。ドライバの更新は、BIOSの更新と同様に、必ず必要になると考え、定期的にパソコンメーカーやデバイスベンダのサイトを検索してみよう。
○トラブル解決策としてのドライバの削除とインストール
まれに、デバイスを削除して起動しドライバを再インストールすることによってトラブルが解決できる場合がある。たとえば、ハードの変更はしていないのに、フロッピーが急に読めなくなったり、A:
をクリックするとフリーズするなどの症状が発生した場合、「デバイスマネージャ」タブから「標準フロッピーディスクコントローラ」(仮称)を削除し再起動することによって、ドライバを再インストールして回復する場合もある。ただし、再インストール前に、INFファイルを手動で削除したり、再インストール後にIRQを手動設定するなどの操作が要求される場合もあるので、技術情報を確認しておこう。この方法はプラグアンドプレイ機器のトラブルの場合は有効であるが、そうでない場合はやめたほうがよい。
○OSのアップグレードの前に
OSのアップグレードの際に問題となるのが、WDMドライバが見つからないことである。OSのパッケージに付属してくる場合、製品のパッケージに添付されている場合もあるが、WDMドライバか旧式ドライバか判断できない場合も多い。ベンダが製造していない場合もあるので事前に確認してください。(Windows
98 でも、できるだけ WDMドライバをインストールしておこう。)