INFファイルとは?Windowsインストール情報ファイルの使い方
INFファイルは、Windowsのインストール情報を記述したテキストファイルで、主にドライバやソフトウェアのセットアップに使用されます。
ファイル内にはインストール手順やファイル配置、レジストリ設定などが記載されており、Windowsはこれを参照して正しくソフトウェアを導入します。
INFファイルを利用するには、デバイスマネージャーからドライバの更新時に指定するなど、Windowsの標準機能を通じて操作します。
INFファイルの概要
INFファイルは、Windowsオペレーティングシステムで使用されるテキストベースの設定ファイルで、デバイスドライバーのインストールプロセスやその他のシステム設定を自動化するために利用されます。
INFは「Setup Information File」の略で、通常は.inf
拡張子を持ちます。
このファイルには、必要なドライバーや設定情報が記述されており、Windowsがハードウェアデバイスを正しく認識し、適切なドライバーをインストールするために使用されます。
INFファイルは以下のような特徴を持っています:
- テキスト形式: 人間が読みやすく、編集可能なテキストファイルであるため、開発者やシステム管理者が容易に内容を確認・修正できます。
- 構造化されたセクション: 各セクションは特定の役割を持ち、ドライバーのコピー先やレジストリ設定、インストール手順などが明確に定義されています。
- 汎用性: デバイスドライバーの他にも、ソフトウェアのインストールや設定変更など、さまざまなシステムタスクに利用されます。
INFファイルは、ドライバーの配布やインストールプロセスを標準化し、一貫性のある方法でシステム設定を行うための重要な役割を果たしています。
INFファイルの構造
INFファイルは、複数のセクションとキー・値ペアから構成されており、特定のフォーマットに従って情報が整理されています。
主な構造要素は以下の通りです:
ヘッダーセクション
ファイルの先頭には必ずヘッダーセクションがあり、INFファイルのバージョンやコピー元ディレクトリの指定などが行われます。
[Version]
Signature="$Windows NT$"
Class=SampleClass
ClassGuid={GUID}
Provider=%ProviderName%
クラスセクション
デバイスのカテゴリやクラスに関する情報を定義します。
[Class]
Class=SampleClass
ClassGuid={GUID}
モデルセクション
特定のデバイスモデルに関する情報を記述します。
通常、デバイスの識別子や使用するドライバーの指定が含まれます。
[Manufacturer]
%MfgName%=DeviceList,NTx86,NTamd64
[DeviceList.NTx86]
%DeviceDesc%=Install, PCI\VEN_XXXX&DEV_XXXX
ドライバーセクション
実際にコピーされるファイルやレジストリ設定など、ドライバーの詳細なインストール手順を定義します。
[Install.Services]
AddService=ServiceName, 0x00000002, ServiceInstallSection
[ServiceInstallSection]
DisplayName = %ServiceDisplayName%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\Driver.sys
その他のセクション
必要に応じて、レジストリ設定やカスタムアクションを記述するセクションが含まれることがあります。
[DestinationDirs]
DefaultDestDir = 12 ; %windir%\System32
[Strings]
ProviderName="Sample Provider"
MfgName="Sample Manufacturer"
DeviceDesc="Sample Device Description"
ServiceDisplayName="Sample Service"
INFファイルの各セクションは、明確な目的と役割を持ち、Windowsが正確にデバイスやサービスをインストールおよび設定するために必要な情報を提供します。
INFファイルの作成と編集
INFファイルの作成と編集は、テキストエディタを使用して行います。
以下に、基本的な作成手順と編集時の注意点を説明します。
テキストエディタの選択
INFファイルはテキスト形式であるため、メモ帳やNotepad++、Visual Studio Codeなどのテキストエディタを使用して作成・編集します。
シンタックスハイライトやフォーマット機能があるエディタを使用すると、編集が容易になります。
基本構造の作成
先述のINFファイルの構造を参考に、基本的なセクションとキー・値ペアを記述します。
以下は簡単な例です:
[Version]
Signature="$Windows NT$"
Class=SampleClass
ClassGuid={GUID}
Provider=%ProviderName%
[Manufacturer]
%MfgName%=DeviceList,NTx86,NTamd64
[DeviceList.NTx86]
%DeviceDesc%=Install, PCI\VEN_XXXX&DEV_XXXX
[Install.Services]
AddService=ServiceName, 0x00000002, ServiceInstallSection
[ServiceInstallSection]
DisplayName = %ServiceDisplayName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\Driver.sys
[DestinationDirs]
DefaultDestDir = 12
[Strings]
ProviderName="Sample Provider"
MfgName="Sample Manufacturer"
DeviceDesc="Sample Device Description"
ServiceDisplayName="Sample Service"
変数の利用
[Strings]
セクションで定義した変数を使用することで、複数箇所で同じ文字列を再利用できます。
例えば、%ProviderName%
や%DeviceDesc%
などです。
これにより、後から文字列を変更する際に一箇所のみ修正すれば済むため、メンテナンス性が向上します。
複数プラットフォームへの対応
[Manufacturer]
セクションやデバイスリストで、異なるプラットフォーム(例:NTx86
、NTamd64
)に対応する設定を記述します。
これにより、32ビットと64ビットの環境で適切なドライバーが使用されます。
エラーチェックとテスト
INFファイルを作成・編集した後は、必ずエラーチェックを行います。
Windowsにはinfchk
やpkgchk
といったツールがあり、INFファイルの構文や設定に問題がないかを確認できます。
また、実際にデバイスをインストールして動作をテストすることも重要です。
注意点
- 正確な識別子の使用: ハードウェアの識別子(VEN、DEVコードなど)は正確に記述する必要があります。不一致があるとドライバーが正しく認識されません。
- セクションの順序: 一部のセクションは特定の順序で配置する必要があります。特に
[Version]
や[Manufacturer]
はファイルの先頭に配置することが推奨されます。 - コメントの活用:
;
を使用してコメントを追加することで、ファイルの可読性を向上させます。例えば、; このセクションはサービスのインストールを定義します
INFファイルの作成と編集は、慎重な作業が求められますが、正確に行うことでスムーズなデバイスドライバーのインストールとシステム設定が可能になります。
INFファイルの適用方法
INFファイルを適用する方法は主に手動インストールと自動インストールの2種類があります。
以下に、それぞれの方法について詳しく説明します。
デバイスマネージャーを使用した手動インストール
デバイスマネージャーを利用して、INFファイルを手動で適用する手順は以下の通りです:
- デバイスマネージャーの起動
- キーボードの「Windowsキー + X」を押し、「デバイスマネージャー」を選択します。
- 対象デバイスの選択
- 該当するデバイスを右クリックし、「ドライバーの更新」を選択します。
- ドライバーソフトウェアの検索方法の選択
- 「コンピューターを参照してドライバー ソフトウェアを検索」を選択します。
- INFファイルの場所を指定
- 「参照」ボタンをクリックし、INFファイルが保存されているフォルダーを指定します。
- 必要に応じて「サブフォルダーを含める」にチェックを入れます。
- ドライバーの選択とインストール
- 適切なドライバーがリストに表示されたら選択し、「次へ」をクリックしてインストールを開始します。
- 完了と再起動
- インストールが完了したら、必要に応じてシステムを再起動します。
コマンドプロンプトを使用したインストール
コマンドプロンプトを利用してINFファイルを適用する方法もあります。
主にpnputil
やdispn
コマンドを使用します。
pnputilを使用する方法
- コマンドプロンプトの起動
- 「Windowsキー + X」を押し、「コマンドプロンプト(管理者)」または「Windows PowerShell(管理者)」を選択します。
- ドライバーの追加
pnputil /add-driver "C:\パス\to\driver.inf" /install
C:\パス\to\driver.inf
はINFファイルのフルパスに置き換えます。
- インストールの確認
- 成功メッセージが表示されればインストール完了です。
dispnを使用する方法
他の方法として、dispn
コマンドを使用することも可能ですが、最新のWindowsではpnputil
の使用が推奨されています。
スクリプトを使用した自動インストール
大量のデバイスや複数のシステムにINFファイルを適用する際には、バッチスクリプトやPowerShellスクリプトを使用して自動化することが有効です。
以下は、基本的なPowerShellスクリプトの例です:
$infPath = "C:\パス\to\driver.inf"
pnputil /add-driver $infPath /install
このスクリプトを実行することで、指定したINFファイルが自動的にインストールされます。
注意点
- 管理者権限: INFファイルのインストールには管理者権限が必要です。適切な権限を持つユーザーで操作を行ってください。
- 正確なパスの指定: INFファイルのパスを正確に指定しないと、ドライバーのインストールに失敗します。
- 互換性の確認: INFファイルがインストール対象のWindowsバージョンやシステム構成と互換性があることを確認してください。
- デジタル署名: 一部のWindowsバージョンでは、ドライバーがデジタル署名されている必要があります。署名されていない場合、インストールがブロックされることがあります。
INFファイルの適用方法を理解し、正確に実行することで、デバイスドライバーのインストールを効率的かつ確実に行うことが可能になります。
まとめ
ここまでINFファイルの基本的な概念から構造、作成・編集方法、適用手順について詳しく説明しました。
INFファイルを活用することで、Windowsのインストールプロセスを効率的に管理し、システム設定を確実に行うことができることがわかりました。
ぜひ、実際にINFファイルを作成・適用して、自身のシステム設定の最適化に取り組んでみてください。