マザーボード側のデバイス
INFファイルは、マザーボード上のデバイスについても用意されている。というか、Windowsがデバイスドライバーをインストールする場合、原則INFファイルが必要になる。このため、独立したデバイスドライバーを持つデバイスのインストール用に必ずINFファイルがある。
これらにはハードウェアIDに「PNP~」が使われることがある。PNPは「Plug aNd Play」の略で、マイクロソフトがWindows 95に実装したドライバーインストール方式のことで、PNPによるハードウェアIDは、その当時にさかのぼる。
Windows 95のプラグ&プレイでは、マザーボード上のデバイス(割り込みコントローラーやDMSコントローラーなど)にPNP IDを割り当てた。PNP IDは、16進数で表現されており、以下の表のような割り当てとなっている。
これに関しては、現在はUEFI FORUMのWebサイトに資料がある。
●PNP ID and ACPI ID Registry Unified Extensible Firmware Interface Forum
https://uefi.org/PNP_ACPI_Registry
PNPによる割り当ては、初期のデバイスのみだが、現在でもPNPを先頭に持つハードウェアIDが残っている。
Windowsのインボックスドライバーは
インストール後もシステム内に保管されている
インボックス・デバイスドライバーは、ドライバーパッケージと呼ばれる形式で配付され、最終的にドライバーストアに保存される。Windows 10/11では「C:\Windows\System32\driverstore」だ。ここのFileRepositoryディレクトリには、INFファイル名を先頭に持つサブディレクトリがあり、その中に必要なデバイスドライバーとINFファイルがある。実質的にこれが厳密な意味でのinboxドライバーである。
Windows 10では、最初にドライバーストアにあるドライバーが検索され、もし適合するINFファイルがあれば、それをインストールする。次にWindows Updateを使って、ドライバーがあるかどうかを探す。同時に「C:\Windows\INF」フォルダーを検索して適合するドライバーを探す。ドライバーストアでデバイスドライバーが見つかった場合でも、Windows UpdateやINFフォルダーにより適合性の高いドライバーが見つかれば、それをインストールする。
INFによるデバイス登録の仕組みは古く、基本は、Windows 95のPlan and Playにまでさかのぼえる。今ではUSBのようにデバイス自身が基本的な情報を提供することがあたりまえだが、MS-DOS~Windows 3.1あたりまでは、デバイスが自分自身を報告することはせず、ユーザーがデバイスドライバーを手動で組み込むのが普通だった。
デバイスのコンフィギュレーションが自動化され、自分でドライバーの組み込みなどやったこともないという人の方が多くなっているかもしれない。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す -
第419回
PC
Windows Insider Previewが変わって、今秋登場のWindows 11 Ver.24H2の新機能が見えてきた? - この連載の一覧へ