Windows 11環境をリセットする

ThinkPad X60に限らずWindows 11の要件を満たさないPCにWindows 11をインストールするには、インストール用USBメモリーをRufusで作るのが定番です。Microsoftの純正ユーティリティーであるMediaCreationTool.exeで起動メディアを作ってしまうと要件チェックで弾かれるからです。ただ、Rufusのダウンロード機能からISOを取得すると、現時点での最新バージョンであるWindows 11 25H2になってしまいます。

ThinkPad X60にはWindows 11 23H2までしかインストール出来ません。古いOSを古いPCにインストールするのにISOファイルを探すときは Internet Archiveを利用しています。但し、このサイトからダウンロードしたISOファイルを使用するのは完全に自己責任です。SHA256のハッシュが表示されていますが、オリジナルと同一なのかはオリジナルのハッシュを見ていないので結局わかりません。何か仕込まれている可能性を常に考えて利用する必要があります。

原因へのヒントはすでに出ていた

前回X60でエクスプローラーの表示がおかしくなるというトラブルについて、ChatGPTと相談しながら原因究明をしていました。その中でいっぱいヒントを貰っていたにもかかわらず見落としていて、原因究明が遅れたものがあります。

ThinkPad X60にWindows 11をインストールすることはできます。デバイスドライバもネットに繋がった後でWindows Updateを実行すれば、不明のデバイスにデバイスドライバが割り当てられていきます。一部IBMオリジナルのデバイスが残りますが、不明なデバイスのプロパティからハードウェアIDをコピーしてネットで検索すれば必要不可欠なものはだいたい見つかります。

ディスプレイドライバは古いPCで内蔵グラフィックを利用する場合は、Intelがサポートをやめてしまっているものが多いのでインストールされないことが多々あります。ところが、ThinkPad X60のIntel 945GM Expressチップセットの内蔵GPUであるGMA950は、Windows 11インストール直後にWindows Updateでデバイスドライバが見つかります。最初にそれを見て、”珍しいな”と思ってました。WDDM1.0ドライバとよくわからない表記はありますが、ドライバが自動的に入るくらいだから、基本的な機能は押さえた標準的なドライバなのだろうと勝手に思い込んでました。古いPCに分不相応なWindowsをインストールすると、機種固有のデバイス用ドライバが見つからないのは当然ですが、オンボードのビデオデバイスのデバイスドライバでつまづくことが多々あるからです。

「自動で適用されるのはラッキー、手間が省けた」。この考えがとんでもない間違いだったと気が付くのはずいぶん後のことになります。

Windows 11を再インストールしてリセットする

いざエクスプローラーで何かしようとすると、動いてはいるものの表示がおかしいままなのは気分が良くないです。Windows 11の軽量化で何をおかしくしてしまったのかがわからなかったので、すべてやり直すために再度Windows 11を再インストールすることにしました。

環境を作ってしまってからトラブルが発生すると、巻き戻しに時間がかかります。もう新たなOSをインストールする可能性が低い以上、Windows 11で環境を作って丸ごとバックアップしたほうが復元するのに手間がかかりません。ここまでやって直らないなら再インストールするのも仕方ないと、ChatGPTと意見が合ったので早速Windowsを再インストールしました。

Windows 11の再インストールは順調

インストールは順調に終わり、再インストール直後に気になっていたエクスプローラーの表示も正常なのを確認。安心してネットに接続しWindowsUpdateがドライバを順次当ててくれました。ここから再度軽量化を進め、程良いところで保存メディアを作れば安定運用できるようになります。不明なデバイスとして、ACPIのLenovo pm deviceが残ります。Windows 10をインストールしたときに当てたドライバが残っていたのでそのまま導入できましたが、Lenovoのサイトで見つけられなかったのが心残りです。消されてしまったのか、そもそも別のサイトからダウンロードしたのか忘れてしまいました。

指紋読み取り用のデバイスドライバも不明になります。動かせばWindows Helloでログイン出来ると思ってWindows 10時代にインストールしたので、動くのは確認出来ています。ただ精度がいまいちで、Pinでログインの方が早くて確実だったので、今は無視しています。

Windows 11のインストールが終わったところで軽量化を始めました。あらかじめダウンロードしておいたO&OのツールをUSBメモリーから起動しようとしました…が、またエクスプローラーの表示がおかしくなっています。まだ軽量化をしていないのに、です。

事の重大さにようやく気が付いた

Windows Update終了後の再起動ですでに発症していました。サービスを止めたり不要なアプリを消したりしたことが原因だとこの瞬間まで信じていましたが、はじめて間違いだったことに気が付いたのです。それにしても、Windows 11再インストール直後にはエクスプローラーの表示が正常なことを確認してたので、Windows Updateでインストールされた何かが問題だとしか考えられません。

どのアップデートが影響しているのかわかりませんが、これではWindows 11にすることで使えないPCになってしまいます。さらに悪いことに、この症状が発症すると右クリックで出るはずのコンテキストメニューも表示されなくなっていました。

更新プログラムは無罪

この時点でChatGPTは、”**「再インストール直後は正常 → Windows Update後に再発」**という事実から、サービス停止はほぼ容疑者から外れます。

ご指摘の2つについてですが、

  • KB5066133(品質更新プログラム)
  • KB4023057(Windows Updateの信頼性向上コンポーネント)

であれば、私もまずKB5066133を疑います。” との見解でした。同感です。

更新をアンインストールしてみましたが、変化がありません。デスクトップで右クリックしてもコンテキストメニューが出なくなるという症状なら、品質更新が関係しているのではと思いましたが無罪だったわけです。

Windows 11は描画方法が変更されたらしい

”もう一つ気になる点、あなたのX60は、本来のサポート対象外ハードウェアです。そのため、新しいExplorer(XAMLベース)の描画部分で、GPUドライバーや古いチップセットとの組み合わせが更新後に問題を起こしている可能性もあります。X60はかなり特殊な環境なので、「更新プログラムのバグ」と「サポート外環境」の両方が重なっていることは十分考えられます。”

ChatGPTにこう指摘されてWindows 11インストール直後は正常表示だったのを思い出しました。試しにWDDMドライバを削除しました。X60ではドライバ削除後に標準ドライバが適用されないようなので、画面が真っ暗なままになります。待っていればいつかは標準ドライバで画面が復活するのかもしれませんが、小一時間放っておいても変化が無かったので、見えていないままWinキー+Rでcmdを起動後cmdのコンソールウインドウにshutdownと打って再起動しました。

再起動後、ディスプレイドライバに何も無い状態でしたが、エクスプローラーを起動しても問題は出ませんでした。右クリックするとコンテキストメニューも復活です。Windows Updateで適用されるディスプレイドライバが駄目なのかもしれないと思い、Intelのサイトにあるドライバを当ててみましたが結果は全く同じでした。どうやらMicrosoft Updateで提供されているWDDM 1.0ドライバは、Intelが提供しているドライバとほぼ同一のようです(バージョン表記が同じ)。

WDDM 1.0はVista世代

IntelのサイトにあるドライバパッケージにはWDDM 1.0と表記はありませんが、

”This driver is written specifically for the desktop Intel® 945G, 945GZ, 945GC, 945GT, 946GZ, G965, Q963, Q965, G31, G33, G35, Q33, Q35, Express Chipsets, and the Mobile Intel® 940GML, 943GML, 945GM, 945GME, 945GMS, GL960, GLE960, GM965, GME965 Express Chipsets and will not function with any other product. View the readme file for installation information and the release notes for driver version details.

This driver package contains version 15.12.75.4.1930 (8.15.10.1930) for Windows 7*.”

このデバイスドライバはWindows Vista用として公開されていますが、上記の通りWindows 7でも使えると記載されています。

一つ疑問です。なぜVista時代のディスプレイドライバをWindows UpdateはWindows 11インストール後に適用したのでしょうか?古いPCに比較的新しいWindowsをインストールすると、サポートしているチップセットドライバが見つからず、標準ディスプレイドライバが適用されている、そんな状況はいっぱいありました。それなら今回のトラブルは発生していません。Windows Updateが見つけてくれたドライバはWindows 10ならなんら問題が無いのかもしれませんが、ChatGPTの推測通りXAMLベースの描画環境との相性が悪いのではないかと思えるのに、なぜ適用してきたのかとても不思議です。

余談ですが、Explorer互換のFilerという文字通りファイラーが人気です。対応環境がWindows 10/11となっていたので、解決しなければFilesでの運用も視野に入れていましたが、Windows 11環境ではXAMLベースの描画となるらしく、殆ど同じ症状が出ました。ひょっとするとオプションでWindows 10準拠の描画に出来るのかもしれませんが、ちょうどデスクトップで右クリックが出来ない問題が発覚した直後だったので、根本原因の解決が不可欠だと思い検証はしていません。

助けてChatGPT

Windows Updateが入れてくれるディスプレイドライバに問題があることがはっきりしたので、まずはディスプレイドライバそのものを削除しました。ところが標準ディスプレイドライバが適用されるのを期待しても何も起こらないので手動で再起動→削除したディスプレイドライバが復活、というループになってしまいました。Windows Updateで提供された正規のドライバーなので、削除してもWindowsが再びインストールしてしまいます。

原因となるディスプレイドライバを削除して標準ディスプレイドライバに固定したいのですが、Windows自体が最適なドライバだと信じているので当然適用してきます。普段ならとても有難い機能なのですが、今度ばかりは妨害行為にしか見えません。このディスプレイドライバを何とかして追い出したかったのですが、自力では無理なのでChatGPTに助けを求めました。

以下ChatGPTとのやりとりを抜粋して記載します。

方法1(おすすめ):デバイスのハードウェアIDでインストールを禁止
ローカルポリシーを使って、WDDMドライバのハードウェアIDを登録して禁止してしまう方法。Windows 11 Homeだと工夫が必要らしい。幸いにしてWindows 11 Proをインストールしているので問題なし。

Windows 11 Proの場合:グループポリシーエディタ gpedit.msc を起動、設定する場所は、

コンピューターの構成
→ 管理用テンプレート
→ システム
→ デバイスのインストール
→ デバイスのインストールの制限

ここにある”これらのデバイス ID と一致するデバイスのインストールを禁止する”を開き、「有効」→「表示…」にハードウェアIDを入力します。ChatGPTが”「管理者がデバイスのインストールの制限ポリシーを上書きすることを許可する」を無効に設定しないとWindows Updateが管理者権限で突破してくる可能性がある”などと恐ろしいことを言ってくるので、もれなくこちらも無効に設定します。

グループポリシーをいじった後は、gpupdate /force を実行して再起動しないと新しいグループポリシーが適用されないようです。

Windows 11 Homeの場合:以下のレジストリに書き込みます。

HKEY_LOCAL_MACHINE
└ SOFTWARE
 └ Policies
  └ Microsoft
   └ Windows
    └ DeviceInstall
     └ Restrictions

に DenyDeviceIDs キーを作成、文字列値1を作ってから値に PCI\VEN_8086&DEV_27A6& SUBSYS_201A17AA&REV_03 を登録

結果:インストールを禁止するハードウェアIDをグループポリシーに設定してもインストールを止められなかった。WindowsがハードウェアIDの一致をどこまで見ているのかが判らないが、Windows 11では何かが変わったのかもしれない。

方法2:Windows Updateのドライバ配布を止める
デバイスのインストール設定で、「製造元のアプリとカスタムアイコンを自動的にダウンロードしますか?」を”いいえ”にすると自動更新が抑制される。ただし、Windows 11では完全に止まらないこともあるらしい。

結果:どこに設定があるのかがわかりませんでした。設定しても完全に止まらないのならあまり意味がないのでスルーします。

方法3:DriverStoreから削除
管理者権限のコマンドプロンプトから pnputil /enum-drivers を実行。oemxx.infなどのディスプレイドライバが出る。これを pnputil /delete-driver oem23.inf /uninstall /force で強制削除する。

pnputil の結果、
oem3.inf 元の名前 igdlh.inf
プロバイダ intel クラス display
guid 4d36e968-e325-11ce-bfc1-08002be10318
バージョン 10/01/2012 8.15.10.2697
署名 Microsoft windows hardware compatibility publisher

ハードウェアid PCI¥VEN_8086&DEV_27A6&SUBSYS_201A17AA&REV_03

これが実機からGMA950用ドライバ情報です。ChatGPTも igdlh.inf Version 8.15.10.2697 2012/10/01 がWindows 8世代のものでWindows Updateが配布しているものと一致していると言っています。Windows VistaからWindows 8までは公式に使われているようですし、Windows 10ではそもそもトラブルが発生しません。

pnputilで前述の通りoem3.infを削除。

結果:Intelのドライバパッケージで見た目全く同じディスプレイドライバがインストールされていたのでDriverStoreから削除されれば、Windows Updateでディスプレイドライバが見つかってもインストールされないと思ってましたがインストールされてしまった。

方法3に至っては、ChatGPTがWindows UpdateのドライバカタログにThinkPad X60のGPUと一致するドライバが存在しているので、DriverStoreから削除してもまたインストールされてしまうのではないかという可能性を指摘していました。そしてその懸念は大当たりでした。

ゾンビのように蘇るWDDMドライバ

再起動直後もWDDMドライバは復活しました。もう手の打ちようがありません。何をやっても確実に復活してきます。倒れても復活する正義のヒーローならカッコいいですが、どちらかというと無限にわいてくるゾンビのようなドライバです。

デバイスドライバの扱いには削除すること以外に”無効”にすることができます。正しくデバイスドライバとして適用されていても動いてほしくない機能(例えばモデムや赤外線通信ポートなど)がBIOSで無効に出来なくてWindows側で無効にすることがあります。ディスプレイドライバを無効にしたことはありませんが試しに無効にしてみました。この写真は無効にした直後にWindows Updateをして二重に登録されているところをたまたま撮ったものです。

ChatGPTも2つあるのはおかしいと言っています。恐らく古いインスタンスが残っているか、Windows Updateが別インスタンスとして再登録しているのではないか、という意見でした。そうなるととても厄介です。消しても止めても湧いてくるのですから…。

せっかくグループポリシーも設定しましたが、これは新規インストールを抑止するものなので、Windows Updateによる既存デバイスのドライバー更新までは完全には止められないことがあるそうです。一度汚染されたら戻れない、そんなイメージです。

ChatGPTからグループポリシーを管理者プロンプトで gpresult /r を実行して確認することと、デバイスマネージャで非表示デバイスの項目をONにして、ディスプレイドライバが複数出ないか確認、あったら全部削除を指示されました。ポリシーは適用済みでディスプレイドライバの残骸は確認されませんでした。

DriverStoreだけが原因ではなさそう

pnputilで確認できるigdlh.infは1つだけで、Intel純正ドライバーでもWindows Update版でも同じ結果になりました。GPOも適用済みです。

ここまで確認すると、単純に「DriverStoreに古いドライバーの残骸が残っている」というだけでは説明できないように思えてきました。

ローカルにあるディスプレイドライバを削除してもWindows Updateが親切に再登録してくれるわけですね。一体どうやって防げばよいのでしょうか。再登録をさせないためのグループポリシーだと思っていましたが、それよりも上の権限で何が何でもディスプレイドライバを登録するのなら、標準ディスプレイドライバの為にinfを作りたいくらいですが、Windows Updateのドライバより適合するドライバだと信じさせるドライバなんて用意できそうもありません。

次の手としてChatGPTが提示してきたのは、「Windows Updateからドライバーを配布しない」ポリシーを有効にする、ということでした。通常Windows UpdateはKBxxxxxxというWindowsそのもののパッチを配布する以外に、デバイスドライバも配信します。今回これがそもそも大問題に発展していますが、デバイスドライバの更新は今更ThinkPad X60で起こるとも思えないので、チェックそのものをさせない方針というわけです。直感的にこれはうまく行きそうだど感じました。

ChatGPTにWiFiをON/OFFするスイッチで強制的にOFFにしてからWDDMドライバを削除、再起動してもWDDMドライバが戻ってこないことを確認して欲しいと言われました。ThinkPad X60でそんなスイッチを見た覚えが無かったので、スイッチが無いのだろうと勝手に判断し、機内モードをONにしてみました。Windows Updateには更新を一週間止めるという設定があります。これも有効にして、WDDMドライバを無効にすると更新を停止しているので、ドライバの更新も起こらないと考えていましたが、再起動すると何故か機内モードOFF、WiFi接続ONとなりWindows Updateでしっかりと復活を遂げました。

先ほどのスクリーンショットは正にその時点のものです。無効になったドライバと、更新で取得したドライバが一緒に並んでいます。これは完全に想定外でした。無効にしたドライバとバージョンが違うのならともかく、同一のドライバが同居してしまっています。どちらにせよWiFiを永久にOFFにするわけにもいかないので次の対策をChatGPTと相談しました。

グループポリシーの設定で、Windows Updateからドライバーを除外するを有効にします。

コンピューターの構成
→ 管理用テンプレート
→ Windows コンポーネント
→ Windows Update
→ Windows Updateから提供される更新プログラムの管理
→ Windows Updateからドライバーを除外する

いつも通り gpupdate /force をコマンドプロンプトで実行し、ディスプレイドライバを削除してから再起動します。ここで手順を間違えました。ディスプレイドライバを削除すると再度適用する機会が出来るので復活するのです。案の定WDDMドライバが復活するので、こんどは”無効”にしておきます。それならWindows Updateからドライバーを適用しようとしなくなれば無効のディスプレイドライバがぽつんと存在する状態になるはずです。本当は標準ディスプレイドライバという表示を見たいのですが。

長い戦いに決着がつきました

ここでやっとWDDMドライバの復活を阻止することに成功しました。ChatGPTは、Windows Updateとは別にPlug and Play(PnP)によるドライバー選択の仕組みがあると説明してくれました。WindowsはデバイスのハードウェアIDなどを使って、DriverStoreにあるドライバーパッケージを比較し、最適と判断したものをデバイスに割り当てます。

つまり、Windows Updateから新しいドライバーを取得しなくても、すでにPC内に存在するドライバーがPnPによって再び選択される可能性があります。今回の現象は、まさにこれだったのかもしれません。

本当ならWDDMディスプレイドライバだけ除外するようにしたかったのに、結局力業ですべてのドライバ更新をWindows Updateでさせないようにしただけなので、本当の意味では完全な解決になっていない気もします。

ポリシーの更新も試した挙句に阻止できないのですから完全勝利とは言い難い状況ではありますが、もしかするとインストール直後のWindows Updateの前にポリシーでWDDMドライバを排除してしまえばポリシーでの特定ドライバの無効化が有効なのかもしれません。一度インストールさせてしまうとすり抜けてしまう可能性は高いと感じています。

さすがにWindowsのインストールからやり直す気力が無かったのでもう検証をするつもりはありません。最後に残った疑問は、ChatGPTも不思議がっている、

“気になるのは「標準ドライバが表示されない」点、ここは私も少し不思議です。通常なら

  • Microsoft 基本ディスプレイ アダプター

が表示されます。”

と言っています。自分もそう思っていましたが、結局一度も標準ディスプレイドライバーという表示を見た覚えがありません。WDDMドライバがほぼ常に居座っていたので気が付かなかったのかもしれませんが、現在もディスプレイドライバの項目には無効になったGMA950 WDDM ディスプレイドライバだけが表示されています。

この何のディスプレイドライバが動いているのかわからない現状ですが、対して高解像度ではない画面が幸いしているのか、Youtubeで動画を再生しても普通に見れます。もっとパラパラ漫画みたいになるのかと思っていましたが、新曲のMVを見たりニュースサイトの記事と動画を見るくらいは普通に出来ています。実用的かと言われれば、ブラウザでAIと会話すら出来ている状況なら十分実用だと言えるでしょう。

ThinkPad X60にWindows 11を入れるのが如何に無謀かを感じましたが、引き続きThinkPad X60で無謀なことにチャレンジしたいと思います。

コメント

タイトルとURLをコピーしました