何やっても直らなくて終わったと思った

今までは違法スレスレの3rdパーティー製エミュレーター(※エミュレーターそのものは違法ではない)使用ならPCでGooglePlayゲームができた。しかし、正規の手順ではないし、エミュレーターそのものもなんか色々あって大丈夫なんかと心配でした。 ところが、Googleから公式としてエミュレーターがリリースされた。
googleplaygames これで許可されたアプリが許可された環境で遊べる!ということで早速インストールしたらBSoDループに陥った。。。
GooglePlayGamesをアンインストールしても直らず、何やっても直らず諦めかけましたが、なんとか3日粘って打開策を見つけたのでシェアします。(先に言いますが症状がなくなっただけです。)

【症状】
PC起動から10分以内に必ずフリーズする。しばらくするとブルースクリーンとなり「DPC Watchdog Violation」エラーでDump吐いて再起動。これの繰り返し。

【最初に結論】
GooglePlayGamesに必須のHyper-Vが悪さしてました。ただ、こいつをどうしようにもWindowsである限りたいした処置ができないので、BIOSでIntel Virtualization Technology (VT-X)を無効にし、Hyper-Vの起動を阻害しました。
起動時のログ
結論に至るまでにやったこと

1⃣調べてもGPUドライバーが原因のQAばっかり
まずはブルースクリーンになった時間のイベントビューアを探ることに。ちゃんとストップコードが出ているのでそれをキーに調べればすぐに分かると思っていた。
バグチェック: 0x00000133 (0x0000000000000001, 0x0000000000001e00, 0xfffff804792fb320, 0x0000000000000000)。
意味はドライバーとかCPUとかディスクとかのエラー。ちょっと意味あまり広くて役に立たない。とりあえずGooglePlayGames入れる時に変なドライバー入ったんだなとか思うようにして次の処置に移ることにした。

2⃣次にセーフモードへ
ドライバーを入れ替えるにしても、起動して2分でフリーズすることもあってダウンロードもままならない。ということで、とりあえずセーフモードで起動することに。もちろん、ダウンロードすることに意味があるんだけど、セーフモードにすることでハードウェアの問題かどうかも同時にチェック。ハードに問題があればセーフモードでもフリーズするはずだからね。でもとりあえず症状が出ないのでハードが問題では無いと判断し、ドライバー入手を継続する。
3⃣GPUドライバー周りを入れ直しても効果なし
GTX1660GPUを使用しているので、こちらから入手。
ドライバ

あとは通常モードで起動して、フリーズが起きないことを祈りながらドライバーをアップデートする。
アップデート成功!とりあえず手動で再起動するも、またすぐにフリーズしてしまいとくに効果はなかった・・・

4⃣めんどくさくなったので復元ポイントを試す
いろいろ考えるのもだるいし、多少他のところに問題でてもいいかと復元ポイントを実行。まずはGooglePlayGamesインストール直前のポイントへ戻す。しかし効果なし。ふーんと思いながら、1週前まで戻す。流石に治っただろうと思うも効果なし。このあたりからちょっと焦り始める。

5⃣クリーンブートするもだめ
たまたまGooglePlayGamesのインストールで発症しただけで、本当はなんか他のサービスが悪さしてる?とか思い、サービス特定するためにクリーンブートをする。症状が出なければ少しずつサービスを切り分けていこうとか考えていたが、全て止めてもWindowsがらみ以外のものを切ってもフリーズする。ある意味、Windows関連と絞ることができたが復元してもだめなら何しろっていうんだという感じにもなった。

6⃣Windowsアップデートは最新
まるっと解決してくれないかとWindowsUpdateを見てみるも最新のためアップデートできず

7⃣初心に戻ってハードウェアチェック
そうそうにソフト関係に焦点を絞ったけど、一度ハードウェアに戻ろう。メモリーテスト「Windowsメモリ診断ツール」、ディスク修復「chkdsk」と「修復オプション」を行うも時間だけ浪費して終わった

8⃣メモリダンプを解析しても意味無し
幸いにもちゃんとダンプを吐いてくれているので解析をした。%SystemRoot%\Minidumpからダンプファイルを取り出し、WinDbgをダウンロード。
ntkrnlmp.exeとかNdu.sysでログを吐いているが、肝心の「ではどのドライバーを読み込んだときか」につながるログは見当たらず。うーん残念。

9⃣イベントビューアに兆しあり
ドライバーエラーなら、なんのサービスが動いたときか、どのアプリケーションかはきっとイベントログに載るだろう。ということで、より詳細な確認をした。とはいえ、ほとんどのログは理解できない。ということで、障害発生状況の前後で見比べることにした。すると・・・・明らかに変化しているサービスが!!「IntelHaxm」ってなんだ?そう思っていましたがとりあえず調べてみる。
簡単にいうとエミュレーターを動かすときのこCPU効率化テクノロジーサービス。Androidアプリを作るときのSDKに入っていて、インストールしたことがあったのを思い出しました。ここで色々と繋がり始める。んーなるほど。仮想化技術が競合してるんだな。ははーん。もう解決したも同然だわ勝った。そう思いました。
<参考URL>
エミュレーター パフォーマンスのハードウェア アクセラレータ (Hyper-V & HAXM)
Android Emulator のトラブルシューティング

🔟Windowsの機能の有効化または無効化も意味無し
競合しているなら後から入れたHyper-Vは消し去ろう。ここまでの憎しみも込めて消してやる。そう思いプログラムと機能を見てもHyper-Vが見当たらない。ググってみても無効化にするくらいしか無い。とりあえずアンインストールを諦めて、無効化を考える。が、なんだなんだ。何も表示されない・・・うーん。Windowsアップデートは最新だが、年代物PCでWin7→win10のアップデートして使って来ているから色々ガタがきてるんだろうな。んでも今発覚しなくても。
とりあえずこの画面からの無効化も諦めた。

⑪Hyper-V関係のサービスを止めても効果なし
諦めたとはいえ憎しみは消えない。というわけで、サービスを無効化にしてやろうとサービスから無効にした。
ウキウキで通常起動させてみるも無情にもフリーズしBSoDとなった。。。なんでや・・・

⑫IntelHaxmをアンインストールしても効果なし
なんだか負けた気がするが古くから入っていたIntelHaxmを消す。Androidアプリ開発はもうやっていないし、正直どこで使われているかわからないから消したくないが背に腹は代えられない。競合しているならこれでなんとか・・・と思うも治らない。。。もうなんでだよ~

⑬バックアップが認識しない
これはもう焦った。作成しているはずのイメージバックアップが見当たらないとでる。外付けHDDはちゃんと認識しているし、ブラウザではちゃんとWindowsImageBackUpフォルダもある。なのになんで・・・もう終わったと思った。

⑭ChatGPTに助けられる
正直疲れた。でも諦めるには膨大な情報が入っているPC。バックアップがあるから最悪はと思っていた宛が外れて 初期化、クリーンインストールが頭によぎるもどこまで消えるか想定が難しく手放したくない情報だらけ。泣く泣くChatGPTに相談してみる。だが大抵は想定内の返答でこれといった情報はない。でも助けられた。人に相談すると自分の中でも情報が整理されるというか、見ているのに脳で捨てている情報があるというか、それに気が付かされた。「CPU周りのなにか」という情報は私の中で認識していたが、とになくプログラムやサービスの問題なんだと切り分けを突き進めてきた結果その情報を忘れていた。原点に戻って、「Hyper-VがCPUのなにか」を使おうとしているならそのなにかを止めてしまおう。その発想に至り無事BIOSからIntel(R) Virtualization Technologyをdisabledにするという方法に辿り着いた。長かった~
無事にフリーズループから抜け出せました。
あとがき

はっきりいうと治っていない。Intel(R) Virtualization TechnologyをONにしたいしIntelHaxmをもう一度インストールして現状復帰したい。でもとりあえず疲れたので休ませてもらいます・・・お疲れ様でした

コメントを残す

メールアドレスが公開されることはありません。