「未使用のドライバーが30日後に自動削除される」という一般向けWindows 10/11の公式な説明は、本稿の執筆時点で確認できていない。MicrosoftとAWSの資料にあるのは、旧Windows 10の更新ツールがINFキャッシュを消した事例と、古いWindows Server 2012 R2のEC2イメージで非アクティブなデバイスを30日ごとに走査した事例だ。機器が見えなくなった時は、まずデバイスとドライバー パッケージのどちらが欠けたのかを切り分ける。
「30日」の出典──旧Windows ServerのEC2
AWSの日本語資料は、2014年9月10日より前に提供されたWindows Server 2012 R2のAmazon Machine Image(AMI)で、プラグ アンド プレイ クリーンアップ(Plug and Play Cleanup)が非アクティブなシステムデバイスを30日ごとに走査し、EC2のネットワークデバイスを誤って削除した事例を記録している。問題は対象AMIの再起動後にネットワークとストレージへ接続できなくなる形で表れた。
この資料が扱うのは、2014年9月10日より前に提供された特定のサーバー用イメージだ。30日ごとに処理される対象も非アクティブなシステムデバイスであり、一般のパソコンにある全ドライバー パッケージを一律に削除するとの説明ではない。Windows 10/11搭載ノートPCのグラフィックス機能やUSB機器へ同じ周期を当てはめる材料にはならない。
Microsoftが記録したのは更新ツールの不具合
Microsoftは同じページで、更新信頼性ツールの適用規則を改善し、バージョン10.0.14393.10020以降ではこの問題が起きないはずだとしている。この資料から確認できるのは、pnpclean.dllが旧Windows 10の特定条件でINFキャッシュを整理した事実までだ。装置を使わなかった期間や30日周期は、この事例の発生条件に含まれていない。
見えないデバイスと消えたパッケージは別
Windowsでは、デバイスの登録とドライバー パッケージの保管場所を分けて考える必要がある。Microsoft Learnによると、デバイスをアンインストールするとプラグ アンド プレイ マネージャーはドライバーのバイナリとデバイスの関連付けを外すが、パッケージはドライバー ストア(Driver Store)に残る。デバイスを再検出すれば、Windowsはストア内のパッケージから再インストールする。
ドライバー ストアからパッケージ自体を削除した場合は事情が異なる。再び使うにはWindows Updateなど元の配布元からパッケージを取り直す必要があり、Microsoftはストア内のファイルを手作業で消すと予期しない動作が起こりうると注意している。この区別から、デバイス マネージャーの表示名が変わった、または項目が見えないという事実だけでは、パッケージが削除されたと断定できない。
Microsoftの公式説明では、「Microsoft Basic ディスプレイ アダプター」は、メーカー固有の表示ドライバーが使えないかインストールされていない場合に動くWindows内蔵の汎用ドライバーである。この名前が表示されても、メーカー固有のドライバーを使っていないことまでしか分からず、プラグ アンド プレイ クリーンアップが原因とは特定できない。
復旧は三段階で確認
1 デバイス マネージャーで記録を探す。 Windows検索からデバイス マネージャーを開き、「表示」→「非表示のデバイスの表示」を選ぶ。グラフィックスなら「ディスプレイ アダプター」、USB機器なら該当する機器の分類を展開し、機器名と警告表示を記録する。MicrosoftのWindows 10/11向け手順も、デバイスを扱う前に「非表示のデバイスの表示」を有効にし、パッケージを削除する場合は他の機器が同じドライバーを使っていないか注意するよう求めている。
2 Windows Updateとメーカー公式の配布元を確認する。 先にWindows Updateで対象のドライバー更新がないかを見る。見つからなければ、パソコンまたは機器メーカーの公式サポートページで型番とWindowsの版が一致するパッケージを探す。Microsoftの日本語サポートは、Windows Updateを基本の取得経路とし、デバイス マネージャーでの更新と再インストール、メーカーへの問い合わせを案内している。メーカー公式サイト以外からのダウンロードは避けるよう明記している。
3 PnPUtilは削除ではなく棚卸しに使う。 管理者権限のコマンド プロンプトでpnputil /enum-driversを実行すると、ドライバー ストアにある第三者製パッケージを確認できる。Microsoft LearnはPnPUtilをWindows内蔵の推奨管理ツールとし、/enum-driversで第三者製パッケージを列挙すると説明している。Windows標準のパッケージはこの一覧に出ないため、表示の有無だけで削除の事実は決まらない。
Microsoftのコマンド構文によると、/enum-driversはWindows 10バージョン1607以降で使えるが、関連ファイルを表示する/filesオプションはWindows 11バージョン22H2以降が対象だ。Windowsの版が不明な場合はpnputil /?で利用可能なオプションを先に確かめる。
pnpclean.dllの強制実行や、出所の不明なレジストリ変更は復旧の第一手にしない。本稿で確認したMicrosoftの一般向け資料は、未使用期間を理由にクリーンアップを止める共通のレジストリ設定を示していない。PnPUtilの/delete-driverも復旧コマンドではなく、用途が分からないパッケージへ実行すると機器が動かなくなる恐れがある。
よくある質問
Windowsは機器を30日使わないとドライバーを削除するのか
一般向けWindows 10/11の一律の規則としては確認できていない。30日周期の一次資料は、2014年9月10日より前のWindows Server 2012 R2 EC2 AMIを扱ったAWS文書であり、一般のパソコンへは広げられない。
表示が「Microsoft Basic ディスプレイ アダプター」だけになったら、クリーンアップが原因なのか
表示名だけでは原因を特定できない。デバイス マネージャーで非表示の項目と警告を確認し、Windows Update、パソコンまたはグラフィックス機器メーカーの公式サイトの順で対応するドライバーを探す。
PnPUtilで見つからないドライバーは削除済みなのか
そうとは限らない。pnputil /enum-driversが列挙するのは主に第三者製のパッケージで、Windowsに標準搭載されたパッケージは対象外だ。デバイス マネージャーの状態とメーカー名、公開名、バージョンを合わせて確かめる。
レジストリを変えてクリーンアップを止めるべきか
一般向けWindows 10/11に共通するMicrosoftの手順は、本稿の執筆時点で確認できていない。古いEC2向けの設定や出所の不明な値を転用せず、まず正規の更新経路とメーカーのサポートを使う。
出典・参考資料
- Windows 10 の更新後に USB デバイス ドライバーが予期せず削除される(Microsoft Learn)Windows 10 LTSBとKB 4023057の更新信頼性ツールに限ったINFキャッシュ削除事例、pnpclean.dllの実行記録、適用規則の改善を示す
- Windows インスタンスでの PV ドライバーのトラブルシューティング(Amazon Web Services)2014年9月10日より前のWindows Server 2012 R2 EC2 AMIで、非アクティブなデバイスを30日ごとに走査した限定事例を示す
- デバイス マネージャーを使用してデバイスとドライバー パッケージをアンインストールする(Microsoft Learn)Windows 10/11で非表示のデバイスを表示する手順と、パッケージ削除前の注意点を示す
- Windows のデバイス マネージャーを使用してドライバーを更新する(Microsoft サポート)Windows Update、デバイス マネージャー、メーカー公式サイトからドライバーを更新または再インストールする手順を示す
- Windows の Microsoft Basic ディスプレイ アダプター(Microsoft サポート)メーカー固有の表示ドライバーが使えない場合にWindows内蔵の汎用ドライバーが使われることと、更新元を示す
- インストールされているドライバー パッケージのインベントリを作成する(Microsoft Learn)PnPUtilで第三者製ドライバー パッケージと関連ファイルを列挙する方法、削除前の確認事項を示す
- PnPUtil のコマンド構文(Microsoft Learn)enum-driversとfilesオプションを利用できるWindowsのバージョンを示す
- デバイスとドライバー パッケージのアンインストール方法(Microsoft Learn)デバイスとの関連付け解除とドライバー ストアからのパッケージ削除の違い、再インストール元を示す