0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#5. Windows 11でIntel GPUドライバーが勝手に戻っていないか確認する方法【DriverStore・DenyDeviceIDs・gpresult】(3/3)

0
Posted at

Windows 11でIntel GPUドライバーを削除・ブロックしたあと、

Windows Update後に、Intel GPUドライバーが勝手に戻っていないか確認したい

という場合があります。

この記事では、設定後のPCを短時間で確認するために、次の4点をチェックします。

1. DriverStore
   → Intel Display Driverが戻っていないか

2. 現在のDisplay Device
   → どのドライバーで動作しているか

3. DenyDeviceIDs
   → Intel GPUの再インストール防止設定が残っているか

4. Group Policy
   → 設定がPCへ適用されているか

今回の環境では、Intel GPUドライバーを使用すると、

Windowsロゴ
↓
ログイン画面直前
↓
ブラックスクリーン

となる症状が発生していました。

切り分けた結果、

Intel GPU Driver
↓
Microsoft Basic Display Adapter
↓
症状改善

を確認しています。

そのため、この記事ではMicrosoft Basic Display Adapterで動作している状態を意図した正常状態として確認します。


先に結論:確認するコマンド

まず確認だけしたい場合は、以下です。

DriverStore

pnputil /enum-drivers /class Display

現在のDisplay Device

Get-PnpDevice -Class Display

DenyDeviceIDs

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDs
reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDsRetroactive

ブロック対象Hardware ID

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs"

Group Policy適用結果

Command Promptの場合:

gpresult /h "%USERPROFILE%\Desktop\gpresult.html"

PowerShellの場合:

gpresult /h "$env:USERPROFILE\Desktop\gpresult.html"

今回の環境では最終的に、

DriverStore
→ Intel Display Driverなし

Display Device
→ Microsoft Basic Display Adapter

DenyDeviceIDs
→ 有効

Intel GPU Hardware ID
→ 登録済み

Group Policy
→ 適用済み

になっていることを確認します。


1. DriverStoreにIntel Display Driverが戻っていないか確認する

管理者としてPowerShellまたはCommand Promptを起動し、次を実行します。

pnputil /enum-drivers /class Display

このコマンドでは、DriverStoreに登録されているサードパーティ製Display Driverを確認できます。

今回確認したいのは、

Intel / Intel CorporationのDisplay DriverがDriverStoreに存在していないこと

です。

例えば、

Published Name : oem42.inf
Provider Name  : Intel Corporation
Class Name     : Display

のようなエントリが表示された場合、Intel Display DriverがDriverStoreに残っています。

以前削除した、

oemXX.inf

が再び登録されていないかも確認します。

今回の確認基準は次のとおりです。

確認項目 期待する状態
IntelのDisplay Driver 見つからない
削除したoemXX.inf 再登録されていない

Intel Display Driverが再び登録されていた場合は、DriverStoreへの再導入が発生していないか確認します。


2. 現在使われているDisplay Deviceを確認する

DriverStoreにドライバーが存在することと、

現在そのドライバーが使用されていること

は別です。

現在のDisplay Deviceを確認します。

管理者PowerShellで、

Get-PnpDevice -Class Display

を実行します。

今回の環境では、

Status Class   FriendlyName
------ -----   ------------
OK     Display Microsoft Basic Display Adapter

となっていれば、意図した状態です。

つまり、

Intel GPU Driver
↓
使用されていない

Microsoft Basic Display Adapter
↓
使用中

になっていることを確認します。

Microsoft Basic Display Adapterを使用することが、一般的なWindows PCで推奨されるという意味ではありません。

今回は障害切り分けの結果、この構成を意図的に使用しています。


3. InstanceIdを取得する

もう少し詳しく確認するため、Display DeviceのInstanceIdを取得します。

$dev = Get-PnpDevice -Class Display | Select-Object -First 1
$dev.InstanceId

例えば、

PCI\VEN_8086&DEV_XXXX&SUBSYS_XXXXXXXX&REV_XX\...

のような値が表示されます。

InstanceIdは、

Windows上で現在認識されているデバイスを特定するためのID

です。

前回ブロック設定で使用したHardware IDとは少し役割が異なります。

Hardware ID
↓
どの種類のハードウェアか
↓
DenyDeviceIDsのブロック条件などに使用


InstanceId
↓
Windows上のどのデバイスか
↓
Get-PnpDevicePropertyなどの詳細確認に使用

今回は、このInstanceIdを使ってドライバー情報を確認します。


4. 現在デバイスに関連付けられているドライバーを確認する

取得したInstanceIdを使います。

Get-PnpDeviceProperty -InstanceId $dev.InstanceId |
  Where-Object {
    $_.KeyName -like "*DEVPKEY_Device_Driver*" -or
    $_.KeyName -like "*DEVPKEY_Device_DriverVersion*"
  } |
  Select-Object KeyName, Data

ここで確認しているのは、

DriverStoreに何が保存されているかではなく、現在のDisplay Deviceにどのドライバー情報が関連付けられているか

です。

イメージとしては、

pnputil /enum-drivers
↓
PC内に保存されているDriver Packageを見る


Get-PnpDevice
Get-PnpDeviceProperty
↓
現在認識されているDevice側を見る

という違いです。

今回の目的は、

Intel GPU Driver
↓
再び使用されていない

ことの確認です。

Get-PnpDevicePropertyで取得できるプロパティは、Windowsの状態やデバイスによって多少異なります。

そのため、特定の文字列が必ず表示されることより、

現在のDisplay Deviceにどのドライバーが関連付けられているか

を確認することが重要です。


5. DenyDeviceIDsが有効か確認する

次に、

Intel GPUドライバーの再導入を防ぐ設定

が残っているか確認します。

次を実行します。

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDs

続いて、

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDsRetroactive

今回確認する値は、

DenyDeviceIDs
↓
0x1

DenyDeviceIDsRetroactive
↓
0x1

です。

設定 期待値
DenyDeviceIDs 1
DenyDeviceIDsRetroactive 1

これで、

対象Device IDに一致するデバイスのインストール制限
↓
有効

になっていることを確認します。


6. DenyDeviceIDsにIntel GPUのHardware IDが登録されているか確認する

設定自体が有効でも、

ブロックしたいHardware IDが登録されていなければ意味がありません。

次を実行します。

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs"

ここに、設定したIntel GPUのHardware IDが存在することを確認します。

例えば、

PCI\VEN_8086&CC_0300

などです。

確認しているものを整理すると、

DenyDeviceIDs = 1
↓
ブロック機能が有効


DenyDeviceIDsRetroactive = 1
↓
既存デバイスにも制限を適用


DenyDeviceIDs配下
↓
実際にブロックするHardware ID

となります。

つまり、

ブロック機能がON

+

ブロック対象IDが登録済み

の両方が必要です。

今回の最低限の確認状態は、

DenyDeviceIDs
↓
1

DenyDeviceIDsRetroactive
↓
1

DenyDeviceIDsの一覧
↓
Intel GPUのHardware IDあり

です。


7. DriverStoreを削除しただけでは再インストールを防げない

ここは今回の構成で重要だったポイントです。

DriverStoreからIntel Display Driverを削除すると、

現在
↓
Intel Driverなし

という状態にはできます。

しかし、それだけでは、

Windows Update
↓
Intel GPU Driverを再取得
↓
DriverStoreへ再登録

される可能性があります。

そのため今回は、

DriverStore cleanup
+
DenyDeviceIDs

を組み合わせています。

役割としては、

DriverStore cleanup
↓
過去に入ったDriverを削除


DenyDeviceIDs
↓
今後の再導入を制御

です。


8. gpresultでGroup Policyの適用状態を確認する

最後に、

設定を書いただけでなく、PCへGroup Policyとして適用されているか

を確認します。

Command Promptの場合は、

gpresult /h "%USERPROFILE%\Desktop\gpresult.html"

PowerShellから実行する場合は、

gpresult /h "$env:USERPROFILE\Desktop\gpresult.html"

を使用します。

実行するとデスクトップに、

gpresult.html

が作成されます。

HTMLを開き、

Computer Configuration
↓
Administrative Templates
↓
Device Installation Restrictions

周辺を確認します。

ここで重要なのは、

設定した

だけで終わらず、

そのPCへ実際に適用されている

ところまで確認することです。

レジストリだけでも現在値は確認できますが、gpresultをHTMLで残しておけば、

その時点でPCにどのGroup Policyが適用されていたか

を後から確認できます。

複数台のPCや長期間運用するEdge PCでは、障害調査時の記録としても役立ちます。


9. Windows Update後に確認するチェックリスト

Windows Updateや再起動後は、最低限次の4点を確認します。

DriverStore

Intel Display Driver
↓
なし

確認:

pnputil /enum-drivers /class Display

現在のDisplay Device

Microsoft Basic Display Adapter
↓
使用中

確認:

Get-PnpDevice -Class Display

Driver再導入防止

DenyDeviceIDs
↓
有効

DenyDeviceIDsRetroactive
↓
有効

Intel GPU Hardware ID
↓
登録済み

確認:

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDs

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v DenyDeviceIDsRetroactive

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs"

Group Policy

Device Installation Restrictions
↓
対象PCへ適用済み

確認:

gpresult /h "%USERPROFILE%\Desktop\gpresult.html"

10. 今回の構成を整理する

今回行ったIntel GPUドライバー対策を時系列で整理すると、

過去
↓
DriverStoreに残っていたIntel Display Driverを削除


現在
↓
Microsoft Basic Display Adapterで動作していることを確認


未来
↓
DenyDeviceIDsでIntel GPU Driverの再導入を制御


設定状態
↓
gpresultでGroup Policy適用を確認

となります。

つまり確認したいのは、

DriverStore
+
現在使用中のDriver
+
再インストール防止設定
+
Group Policy適用状態

の4つです。

特にWindows Update後は、

「以前設定したから大丈夫」ではなく、現在も意図した状態が維持されているか

を確認するようにしています。


まとめ

Windows 11でIntel GPUドライバーを削除・ブロックしたあとに確認する項目は、次の4つです。

項目 確認内容 コマンド
DriverStore Intel Driverが戻っていない pnputil /enum-drivers /class Display
Display Device 意図したDriverで動作している Get-PnpDevice -Class Display
DenyDeviceIDs 再導入防止設定が有効 reg query
Group Policy PCへ設定が適用されている gpresult /h

今回の環境では、

Intel GPU Driver
↓
ブラックスクリーン

Microsoft Basic Display Adapter
↓
症状改善

という切り分け結果だったため、この状態を維持できていることを確認しました。

ドライバー関連の問題では、

「削除できたか」だけでなく「戻っていないか」まで確認する

ことが重要だと考えています。


次回:Windows Defender Firewallで必要な通信だけを残す

ここまでは、

Intel GPU Driverの再導入制御

+

DriverStore cleanup

+

設定後の状態確認

を行い、

意図したドライバー構成を維持できているか

を確認してきました。

しかし、Edge PCを長期間運用するうえでは、ドライバーだけでなく、

端末がどの通信を許可し、どの通信を遮断するか

というネットワーク側の設計も重要になります。

Edge PCでは、

接続機器
↓
Edge PC
↓
Cloud

という通信経路を維持する必要があります。

そのため、単純にFirewallを厳しくすればよいわけではありません。

次回は、

必要な通信だけを残し、本来の機能を維持しながら不要な通信を閉じるWindows Defender Firewallの設計

について整理します。


注意事項

本記事は、実際のEdge PC運用・障害対応経験をもとに、機密情報に配慮して一部を一般化・匿名化しています。

特定の組織、施設、製品、システムについて説明するものではありません。

また、デバイスドライバーやGroup Policyの変更は、デバイスの動作やWindowsの安定性に影響する可能性があります。

特に、

DenyDeviceIDs
DriverStore
Device Installation Restrictions

などを変更する場合は、

  • 対象デバイス
  • Hardware ID
  • 現在使用しているドライバー
  • 設定を解除する方法
  • 復旧手段

を事前に確認してください。

実環境へ適用する場合は、検証環境で動作確認を行い、設定を元に戻せる手段を確保したうえで実施してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?