Neowinは8月24日(米国時間)、「User unexpectedly discovers Microsoft can purposefully delete Windows driver without warning - Neowin」において、Windows 11の電源設定を長期間「省電力」に設定すると無警告でグラフィックドライバーが削除される可能性があると報じた。

これはRedditユーザーのOk-Horse-3169氏の投稿で明らかになった。同氏はRTX 5070 Tiを搭載したノートパソコン「ROG Zephyrus G14」を所有しており、このPCで省電力モードを利用していた。その状態が数週間経過したある日、NVIDIAドライバーが消えていたことに気づいたという。

  • Windows 11搭載PCで「省電力」設定を長期間利用したところ、NVIDIAのグラフィックドライバーが消えたという報告が確認された Photo:PIXTA

    Windows 11搭載PCで「省電力」設定を長期間利用したところ、NVIDIAのグラフィックドライバーが消えたという報告が確認された Photo:PIXTA

Windowsが使っていないデバイスを自動削除する仕組み

以下は投稿者の調査に基づいており公式発表ではない。しかし、同様の現象に遭遇したとするユーザーからの返信も確認されている。

投稿者の調査によると、このトラブルの原因はWindowsのプラグアンドプレイ機能の保守を担う「pnpclean.dll」とされる。投稿者の調査によると、このトラブルにはWindowsのプラグアンドプレイ機能の保守を担う「pnpclean.dll」が関係しているという。ディスククリーンアップ時に呼び出され、一定期間利用されていないデバイスを削除する仕組みとされる。

これはUSBデバイスなど、複数のデバイスを挿抜することで登録デバイスが増加し続ける問題への回避策とみられる。なお、削除までの期間についてはGitHubユーザーのSerge氏が「NVIDIAの場合は15日間」と述べており、特定の製品で短縮される可能性を指摘している(参考:「FAQ · seerge/g-helper Wiki · GitHub」)。

なぜ「省電力」でNVIDIAドライバーが消えたのか

投稿者の所有しているPCで、この自動削除が実行された経緯は次のとおり。

  • 投稿者は省電力モードを有効にし、その状態で長期間利用を継続した
  • このデバイスでは、省電力モードを有効にするとCPU内蔵GPU(iGPU)が利用され、外部GPU(dGPU)のRTX 5070 Tiは電源を遮断される
  • 電源のないdGPUは、システムから未接続と認識される
  • 15日連続して省電力モードを維持した結果、pnpclean.dllがデバイスの利用がないと判断しdGPUを削除する
  • その後、未使用状態のNVIDIAドライバーパッケージも自動的に削除される

削除後に省電力モードから通常モードへ切り替えると、dGPU自体は再び認識されるものの、NVIDIAドライバーはすでに存在しない。システムは自動的にdGPUを「Microsoft Basic Display Adapter」と識別し、デバイスの利用を試みるが失敗する。そして投稿者がドライバーの不在に気がつき、自動アンインストールを認識したというのが本件の経緯だ。

この現象がWindowsの仕様上想定された動作なのか、不具合に当たるのかは現時点では明らかになっていない。dGPUはNVIDIAドライバーを再インストールすることで再び利用できるという。しかし、投稿者は一連の動作を理解するのに数か月もの時間を要したと述べ、問題の根深さを指摘している。

グラフィックドライバーの削除を防ぐには

影響範囲については現時点で確定していない。投稿者は、WindowsがdGPUを長期間不在のデバイスと判断する条件が成立すれば、AMD製GPUでも同様の問題が発生する可能性があると説明している。

回避策としては、省電力モードの定期的な解除がある。投稿者は、2週間に1回程度、省電力モードを解除してdGPUを認識させることで回避できるとしている。

また、投稿者はpnpclean.dllによる自動削除を無効にする方法も紹介している。投稿者が特定した手順は次のとおり。

  • レジストリエディター(regedit.exe)を起動する
  • 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Device Driver Packages」に移動する
  • 「Autorun」をダブルクリックし、値を「0」に変更する
  • 「OK」をクリックしてレジストリエディターを終了する

ただし、この設定を変更すると、dGPUだけでなくその他のデバイスの自動削除も停止する。複数のデバイスを利用する環境では、古いデバイス情報やドライバーパッケージが蓄積する可能性があるため注意が必要だ。