2023年11月19日日曜日

WindowsUpdateでINVALID_DATA_ACCESS_TRAPのBSoDになる場合と対処法

Windows11 22H2(23H2)にできない!

 Windows11 21H2のまま眠っていたPCを久々に起こしたので、まずはWindows Updateを適用しました。種々のアップデートのあと、22H2が降ってきたのでインストールして再起動して完了を待っていたらタイトルの通りの有様です。何度試しても70%あたりでブルースクリーンになって即死します。幸いロールバックが実行されるので元には戻りますが、先にも進めない状況になってしまいました。
 
 今回、クリーンインストールすることなく解決できたので記します。結論を先に書いておくと、sfcもchkdskも通ってOSに問題はありませんでした。結果的には競合が原因だったのですが、よく原因とされるAVerMediaのソフトとは全く関係ない、とても意外なソフトが邪魔をしていたのです。

試してダメだったこと

Windows11インストールアシスタントでアップデート

22H2がダメなだけで23H2にはいけるかもと思いましたがダメでした。
 

ディスククリーンアップ実行

ダウンロードしたパッケージが破損していた可能性を疑いクリーンアップしときましたがダメでした。
 

sfc, chkdsk実行

OSが既に破損している可能性を疑いましたがダメでした。
 

そして解決へ

 イベントビューアでは有用な情報は得られなかったのですが、以下のディレクトリにメモリダンプができていたので解析することにしました。
 
C:\Windows.~BT\Sources\Rollback\setupmem.dmp
 
 解析にはWinDbgを使うのが鉄板です。我が家はC#メインなのでVisualStudioは入っていますがWindowsSDKはデカいし入れたくないなと渋っていると、どうもモダンな変身を遂げたWinDbgのプレビュー版が単体でMicrosoftストアにあるではないですか!ということでサクッとインストールします。
 

 リボンUIの現代的な見た目ですね!
 ダンプファイルを読み込むなり初期解析が勝手に実行され、出力に出てきたAnalyzeの文字をクリックするだけで追加解析が実行され、30秒ほどで全て完了です。
 
出力の中に、死亡の原因となったと思われるプロセスが書かれています。  
 
PROCESS_NAME:  postgres.exe
 
お前なのか!!
 
 確かにPostgreSQLは入れていますが、まさかこんな悪さをするとは夢にも思っていませんでした。半信半疑アンインストールして23H2にしてみたら難なく一発で通ってしまいました
 

結論

 WinDbgはとても有用。
 
 PostgreSQLが原因とは全く思わなかったので、WinDbgを使わなかったらどれだけ解決に時間がかかったかわかりません。
 実は一回目の失敗の時点でメモリダンプを読もうとしたのですが、WinDbgもといWindowsSDKを入れたくなさすぎてBlueScreenViewでお茶を濁しました。しかし有用な情報は手に入らず結局回り道をしてしまう事態となったのでした。BSoDの解析には素直にWinDbgを使いましょう…

0 件のコメント:

コメントを投稿