Windowsのキーボードドライバーは、1つの固定フォルダーに1ファイルだけ保存されるものではありません。実際に読み込まれる.sysファイル、インストール元のINF・CATを含むDriver Store上のパッケージ、USBやBluetoothの下位ドライバー、メーカーのフィルタードライバーが役割ごとに分かれます。保存場所を確認する最短手順は、対象キーボードを特定してデバイスマネージャーの「ドライバーの詳細」を開くことです。Driver Storeを検索して推測したり、ファイルを直接削除したりしてはいけません。
「保存場所」が複数ある理由
Windowsでは、デバイスへ適用するドライバーパッケージを先にDriver Storeへステージし、そこから必要なコンポーネントをデバイスへ関連付けます。パッケージにはINF、署名を検証するカタログ、ドライバーバイナリ、関連ファイルが含まれます。一方、現在のデバイススタックが使うサービスバイナリは、構成によりWindowsのSystem32配下やDriver Storeから直接読み込まれます。そのため「FileRepositoryを見れば必ず現在の実行ファイルが分かる」「System32\driversの1ファイルだけがキーボードドライバー」という理解は不正確です。
標準的なUSB・Bluetoothキーボードでは、Microsoftが提供するHIDクラス、HIDキーボードマッパー、キーボードクラスなどが重なるスタックを構成します。Microsoft公式資料でも、HIDクラスがUSBやBluetoothなどのトランスポートとKBDHID.sysの間をつなぎ、さらにキーボードクラスドライバーが読み込まれる構造を説明しています。メーカー独自のホットキーやマクロ機能がある機種では、さらにフィルタードライバーやサービスが加わることがあります。
最初に対象キーボードを特定する
デバイスマネージャーの「キーボード」には、「HIDキーボードデバイス」が複数表示されることがあります。ノートPC内蔵、外付けUSB、Bluetooth、ドッキングステーション、リモートデスクトップ用の仮想入力が同時に存在するためです。表示名だけで判断せず、場所、ハードウェアID、インスタンスIDを記録します。キーボードを抜き差しして比較する場合は、内蔵キーボードや別の入力手段を確保し、作業中の文書を保存してから行います。
Windows PowerShellでは次の読み取り専用コマンドで、現在存在するKeyboardクラスの候補を一覧できます。管理者権限がなくても取得できる環境がありますが、組織ポリシーで制限される場合があります。
Get-PnpDevice -Class Keyboard -PresentOnly |
Format-Table Status, Class, FriendlyName, InstanceId -AutoSize
「PresentOnly」は現在接続されているデバイスへ絞る指定です。結果のInstanceIdは、後のPnPUtil確認に使う識別子なので、途中を省略した画面表示ではなく、必要なら次のように一覧形式で確認します。
Get-PnpDevice -Class Keyboard -PresentOnly |
Format-List Status, Class, FriendlyName, InstanceId
デバイスマネージャーで実ファイルの場所を確認する
- スタートを右クリックし、「デバイス マネージャー」を開きます。
- 「キーボード」を展開し、対象候補を右クリックして「プロパティ」を選びます。
- 「全般」タブの場所とデバイスの状態を確認します。候補が複数なら「詳細」タブのプロパティで「デバイス インスタンス パス」または「ハードウェア ID」を表示し、PowerShell結果と照合します。
- 「ドライバー」タブでプロバイダー、日付、バージョン、デジタル署名者を記録します。
- 「ドライバーの詳細」を選び、表示された完全パスを確認します。複数ファイルが出る場合はすべてが対象スタックの一部です。
この画面にC:\Windows\System32\drivers配下のファイルだけでなく、DriverStore\FileRepository配下やメーカー固有の場所が表示されても異常とは限りません。Windows 10 1709以降は、対応するドライバーがDriver Storeから直接動作する構成も一般化しています。「ドライバーの詳細」に表示されたパスが、そのデバイスに関連付けられた実ファイルを調べる一次情報です。
PnPUtilで適用パッケージを照合する
実ファイルに加えて、どのINFパッケージが選ばれたかを確認したい場合は、Windows同梱のPnPUtilを使います。コマンドプロンプトまたはWindows Terminalを管理者として開き、デバイスマネージャーで取得したInstanceIdを二重引用符で囲んで指定します。次は列挙のみで、デバイス状態を変更しません。
pnputil /enum-devices /instanceid "確認したInstanceId" /drivers
出力では、現在選択されたドライバーと一致候補、公開名が確認できます。公開名がoem42.infのような形式なら、その名前はDriver Store上のサードパーティーパッケージを管理するための識別子です。メーカーの配布ファイル名と一致するとは限りません。Windows標準のinboxドライバーは、サードパーティーだけを列挙する/enum-drivers結果に同じ形で出ないこともあります。
Windows 11 バージョン22H2以降では、次のようにクラスとファイルを列挙できます。ただし、すべてのキーボード関連ファイルを単一デバイスへ結び付ける出力ではないため、先にInstanceId単位で対象を特定してから補助資料として使います。
pnputil /enum-drivers /class Keyboard /files
古いWindowsビルドでは/classや/filesが未対応の場合があります。そのときはエラーに合わせて非対応オプションを外し、デバイスマネージャーの確認結果を基準にします。Webから同名のpnputil.exeをダウンロードする必要はありません。PnPUtilはWindows Vista以降に含まれるMicrosoftの標準ツールです。
確認結果の読み方
| 確認対象 | 意味 | 判断での使い方 |
|---|---|---|
| InstanceId | 接続されたデバイスインスタンスの識別子 | 同名デバイスを区別する基準 |
| ドライバーの詳細 | 対象スタックに関連する実ファイルの完全パス | 現在使われる場所の確認 |
| INF公開名 | Driver Storeで管理されるパッケージ識別子 | バックアップや更新調査の照合 |
| プロバイダー・バージョン | 提供元と適用版 | メーカー公式版・Windows提供版の識別 |
| デジタル署名者 | パッケージ署名の主体 | 出所確認の補助 |
同じキーボードでMicrosoftのkbdclass系、HID系、USBまたはBluetooth系、メーカー系が並ぶのは正常です。上位のKeyboardクラスだけを見てUSBトランスポートのファイルを見落としたり、HIDClassに見えるすべてをキーボード専用と判断したりしないでください。複合HID機器は、キーボード、マウス、消費者向けコントロールなど複数のトップレベルコレクションとして公開される場合があります。
ファイルをバックアップしたい場合の考え方
障害対応用のバックアップが目的なら、.sysだけをエクスプローラーでコピーしても再インストール可能なパッケージにはなりません。INF、CAT、参照ファイルの組が必要です。まずPCメーカーまたはキーボードメーカーの公式配布パッケージ、Windows Updateの適用履歴、現在のINF公開名を記録します。組織端末では管理ツールが配布元を保持している場合があるため、端末単独でファイルを集める前に配布管理者へ確認します。
PnPUtilには/export-driverがありますが、書き込みを伴い、サードパーティーパッケージが対象です。実行するなら保存先の空き容量とアクセス権を確認し、承認済みのバックアップフォルダーを用意した別工程にします。本記事の保存場所確認では実行しません。DriverStore\FileRepository、C:\Windows\INF、C:\Windows\System32\driversのファイルを直接移動、改名、削除、上書きする操作は避けます。Microsoftは、ステージ済みDriver Storeのファイルを直接変更しないよう明記しています。
見つからない・表示が違う場合
「ドライバーの詳細」ボタンが使えない場合は、選んだ項目が実デバイスではなくソフトウェアコンポーネントや未接続履歴ではないかを確認します。デバイスマネージャーの「表示/非表示のデバイスの表示」をオンにすると、過去の薄い表示も加わるため、現在接続中を調べるときはPowerShellのPresentOnly結果と照合します。リモートデスクトップ内では仮想キーボードが対象になるため、物理PC側で確認します。
キーボードが動作しない問題を調べている場合も、最初にエラーコード、InstanceId、ドライバーバージョンを記録します。いきなり「デバイスのアンインストール」や「ドライバーの削除」を実行すると入力手段を失う可能性があります。更新が必要ならWindows Updateまたは機器メーカー公式サイトを使い、復元ポイント、別の入力手段、再起動可否を準備した保守時間に分けて実施します。

コメント