2つに増殖したGameInput ServiceのせいでWindows11がフリーズした話
※この記事で紹介している問題解決方法を、以下の動画でご紹介いただきました。文字を読むより動画のほうが理解しやすい方は参考にしてみてはいかがでしょうか。
クリスマスイブイブの朝、いつも通りパソコンにVALVE INDEXを接続しVRゲームを遊び、その後PS5のコントローラー(DualSense)をUSB接続してモンスターハンター:ワールドを遊んだ。
その後、パソコンの電源を落としてから日中ずっと外出し、だいたい12時間後ぐらいに家に戻ってきてパソコンの電源を入れた。
その日の夜はVRで遊ぶつもりだったが、情報収集のためにChromeで記事を眺めていると、突然マウスカーソルが動かなくなった。ん?と思い、キーボードを叩くも、反応がない。そもそも無線キーボードだったのだが、Bluetoothのペアリングが解除されている。
もしかして、パソコンがフリーズした……?
TL;DR
- ある時、Windows11がログオン直後数分でフリーズするようになってしまった
- PCに接続していたゲーム周辺機器をPCから外して起動した時はフリーズしなかった
- フリーズする時には "GameInput Service" がイベントログにエラーを出していた
- よく見たらWindowsのサービスに"GameInput Service"が2つ存在していた
- "Microsoft GameInput"をアンインストールしたら問題が発生しなくなった(かも)
症状
PC強制終了→起動を数回試したところ、以下の2種類の症状が発生した。
- Windows11を起動してログオンし、体感3分ぐらい経つと画面が全てフリーズし操作不能になる
- Windows11を起動してログオンし、体感3分ぐらい経つとブルースクリーンが出る。停止コードはATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
(エラー情報収集している間にフリーズするらしく、0%から動くことは無さそうだった)
PC強制終了をする際は電源ボタンの単押しでは反応せず、長押ししないと強制終了できなかった。
PCの構成
- Windows11
- Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
- メモリ8GB×2枚
- NVIDIA GeForce RTX 3080 Ti
- ディスプレイ2枚(HDMIとDisplayPort)
心当たり
- 最近Windows Updateが来たような気はする(仕事用PCと混同してるかもしれない)
- 最近VRChatを遊んでいると、人が多いインスタンスに新しく人が入ってきたりアバターの読み込みが行われたりすると、一瞬固まったり酷い時はSteamVRが予期せぬエラーを出して停止してしまいIndexへの出力が切れてしまう
- 今週頭ぐらいからPS5コントローラーをPCに接続し始めた(とはいえそれ以前にも使うことはあった)
試したこと・起きたこと
Windowsメモリ診断ツールの実行
ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY はメモリの寿命が来てるから、みたいな話を見かけたのでWindowsメモリ診断ツールを実行。しかし結果に問題は無かった。
フォロワー有志が言うには『Windowsメモリ診断ツールは信用できないのでmemtest86+を回すとかしたほうがいい』とのことだが、時間がかかりそうなので別のアプローチで問題の切り分けを試みる。
PC周辺機器の取り外し
PCに接続していた周辺機器を取り外す。具体的には、
- PS5のコントローラー(USB-C接続)
- ヘッドセット(USB接続)
- VALVE INDEX(USB, DisplayPort)
- Viveトラッカー認識用のドングル×4(USB接続)
を取り外した。
なお、動作確認に最低限必要だったため、マウスとキーボード、およびディスプレイ2つは外していない。マウスは有線のものを使用していて、キーボードは無線のものを使っていたが動作確認時には有線のものを使用した。
ここで一時的に症状が発生しなくなる
周辺機器を一通り外して再起動したところ、症状が発生しなくなった。
少なくともWindowsを起動してChromeでブラウジングを10分程度続けても、PCがフリーズすることは無かった。
VALVE INDEXを接続しVRChatをプレイしていると似た症状が発生
よく分からないけど治ったのでヨシ!と思い、VALVE INDEXを接続しVRChatを起動。しかしプレイ開始から数分で、突然VALVE INDEXの画面がフリーズ。まさか、と思いPCのマウスやキーボードを操作するも反応がない。PCが完全に固まっていた。
電源ボタンを押すと、長押しせずに単押しだけで電源が切れた(これまでの症状では長押ししないと電源が切れなかった)。
VALVE INDEXを接続したまま再起動するとログオン直後にフリーズ
そのままPCを起動すると、ログオン直後にPCがフリーズした(最初の症状とほぼ同じ)。そして、VALVE INDEXの接続を外してから電源を入れると、再び症状が起きずにPCを利用できるようになった。
Windows Updateの履歴を確認
Windows Update の履歴を確認したが、症状が発生する直前にアップデートされたのはMicrosoft Defenderの定義更新ブログラム程度だった。
イベントログの確認
イベントログを確認すると、PCの電源長押しによって強制終了する直前のイベントログに、常に "GameInput Service" がエラーで終了した、というログが6回程度繰り返し出力されていることに気づいた。
なお、このエラーについてのイベントログは、PS5コントローラーやVALVE INDEXを接続していない時には出力されていなかった。つまり、フリーズした場合の直前に必ずこのエラーが起きていたことになる。
このGameInput Serviceのエラーは、遡ると2023年12月15日から発生していた。これは品質更新プログラム KB5033375 がインストールされた日付と同じ日だった。
(12月15日頃の時点では常にVALVE INDEXを接続した状態でPCを起動していたが、その時はまだPCがフリーズするようなことは無かった)
エラー自体は12月15日からイベントログに記録されていたのに、PC全体がログオンして数分でフリーズするようになったのは12月23日の夜からなので、これが原因だと断定するには証拠不十分な気もした。
しかし、ゲーム関連機器をPCに接続している時しか問題が発生しないのもまた事実であることから、ゲーム関連機器やその周りが症状に関係しているではないか?と推測し、まずはGameInput Serviceについて深堀りして調べることにした。
GameInput Serviceについての不具合報告を発見
軽くインターネットでGameInput Serviceについての最近の記事を検索すると、Redditのとある記事がヒットした。
これは、今年の12月5日に投稿された記事だった。ずいぶん最近の内容である。
For some reason the gameinput service stopped working right after the update, did some of you get the same problem after installing too?
(何らかの理由で、アップデート直後に gameinput サービスが動作しなくなりました。インストール後に同じ問題が発生した人もいますか?)
Definitely a problem with the latest update as my Event Viewer logs under Windows Logs>System is showing dozens of these entries since I got the update this morning. Windows Explorer seems to crash when it occurs as well:
-The GameInput Service service terminated unexpectedly. It has done this 6 time(s).
-The GameInput Service service terminated with the following error: The compound file GameInput Service was produced with a newer version of storage.
-The GameInput Service is borked
(今朝アップデートを入手して以来、イベント ビューアの [Windows ログ] > [システム] にこれらのエントリが多数表示されているため、最新のアップデートには間違いなく問題があります。 この問題が発生すると、Windows エクスプローラーもクラッシュするようです。)
(-GameInput Service サービスが予期せず終了しました。 これを 6 回実行しました。)
(-GameInput Service サービスは次のエラーで終了しました: 複合ファイル GameInput Service は新しいバージョンのストレージで作成されました。)
(- GameInput サービスが停止しています)
このイベントビューアについての記述は、今回の自分の症状とほぼ同じ内容だった。
また、症状こそ異なるものの『KB5033375をインストールしてからゲーム関係で不具合が起きるようになった』との情報もあった。
なぜか2つ存在する GameInput Service
先ほどのRedditの記事を確認していたところ、興味深い内容の投稿を見つけた。
The fix is simple. No need to wait for MS to address this issue.
Double click both the Gaminput services and look at their location ("path to executable" it is called). You will see that one is located in your C:\Program Files (x86)\ folder, and the other is located in C:\Windows\System32 folder. With your explorer app of preference open both folders, find the executable (GameInputSvc.exe) and hover over it with your mouse. In a second a window will appear. Look at the creation date of the executable. I'm almost 100% certain that the one located in your Program Files (x86) is the the old one (creation date around beginning 2023)
(修正は簡単です。 MS がこの問題に対処するのを待つ必要はありません。)
(両方の Gaminput サービスをダブルクリックして、その場所 (「実行可能ファイルへのパス」と呼ばれます) を確認します。 1 つは C:\Program Files (x86)\ フォルダーにあり、もう 1 つは C:\Windows\System32 フォルダーにあることがわかります。 好みのエクスプローラー アプリで両方のフォルダーを開き、実行可能ファイル (GameInputSvc.exe) を見つけて、その上にマウスを置きます。 すぐにウィンドウが表示されます。 実行可能ファイルの作成日を確認します。 プログラム ファイル (x86) にあるものは古いもの (作成日は 2023 年初頭頃) であるとほぼ 100% 確信しています。)
要するにこの投稿は、GameInput Serviceが2つあるよということを言っているのだ。そんなまさか、と思いサービスを確認したのだが……本当に2つあった。
まずこれが、 C:\Windows\System32\GameInputSvc.exe
のほうのGameInput Service。こちらは作成日が新しく、2023年12月15日になっている。
そしてこちらは、 C:\Program Files (x86)\Microsoft GameInput\x64\gameinputsvc.exe
のほうのGameInput Service。Redditの投稿の通り、作成日は2023年2月26日となっており、古い。
ファイルパスも不気味である。なぜx86用のProgramFilesの中にx64のフォルダが入っているのだろうか……?
さらにRedditの投稿には
Then check your installed apps (start > settings > apps > installed apps). You will see Microsoft Game Input listed there. The date is somewhere around Feb/March 2023, so this one is old.
(次に、インストールされているアプリを確認します ([スタート] > [設定] > [アプリ] > [インストールされているアプリ])。 そこに Microsoft Game Input がリストされているのが表示されます。 日付は2023年2月か3月頃なので、これは古いです。)
と記載されていたが、これも自分の環境と一致した。確かに、Microsoft GameInputがインストールされていて、その日付も2023年3月18日でかなり古い。
Microsoft GameInputをアンインストール
Redditの投稿に従い、アプリとしてインストールされていたMicrosoft GameInputをアンインストールした。
自分の環境ではこの時点で C:\Program Files (x86)\Microsoft GameInput
以下のフォルダやファイルが綺麗さっぱり無くなっていたが、もしここにフォルダやファイルが残っているようなら管理者権限を用いつつ削除することを勧めている。
その後、念のためsfc /scannowを実行してからPCを再起動した。再起動後、GameInput Serviceが1つだけに戻ったことを確認。そのサービスのスタートアップが手動だったので自動に変更し、再起動した。
問題が再発しないかの確認
GameInput Serviceが1つに戻った状態で特に問題なくPCが起動するため、PS5コンを繋げた状態で再起動した。するとログオン後も、特にPCがフリーズすることなく少なくとも10分以上使用し続けられることを確認した。
また、VALVE INDEXを接続した状態でPCを再起動したが、同様にログオン後フリーズすることなく問題なく利用できた。
さらにその状態からSteamVRとVRChatを起動して数分間触っていたが、PCごとフリーズするようなことは起きなかった。
なお、これらの前後にイベントログを確認したが、GameInput Serviceに関するエラーはゲーム周辺機器を接続していても全く出力されなくなっていた。
(確証はないが)症状の改善方法
まだ問題が再発しないと確信が得られているわけではないが、今のところ
- GameInput Serviceがサービスに2つ登録されていて
- PCフリーズ直前にGameInput Serviceがエラーで終了しているイベントログを6回程度吐いている
場合にMicrosoft GameInputというソフトウェアをアンインストールすることで、ゲーム周辺機器をPCに接続してもPCがフリーズするような問題が発生しなくなったとみている。
さいごに
2023年12月15日のWindows UpdateでインストールされたKB5033375が原因とはいえ、どうして2023年12月23日の夜から問題が起き始めたのか?というモヤモヤを抱えることにはなったが、ひとまずクリスマスを安心して過ごせる目途が立ったので一安心だ。
本記事が、似たような問題を抱えている人にとっての解決の手立てとなれば幸いである。
あとMicrosoftくんさぁ……ゲーマーへのクリスマスプレゼントとしてこれを贈ってくるのはさすがにたちが悪いと思うよ……
追記1:GameInputは勝手にインストールされることがあるらしい
この記事によると、2022年頃はMicrosoft GameInputが再起動する度にインストールされてしまうことがあったらしい。
(自分の環境では、今回の対策を実行する過程で再起動してもMicrosoft GameInputが勝手にインストールされることはなかった)
もし不安を感じるのであれば、かつMicrosoftのゲーム機能を全く使わないのであれば、上記の記事を参考にその辺りを取り除いて憂いを減らすのも良いかもしれない(自己責任で行うこと)。
追記2:その後の状況
その後、GameInoutに起因していたとみられるWindows11のフリーズの症状は1度も発生していない。
なお、SteamVRのゲームをプレイ中に予期せぬエラーでSteamVRが強制終了してしまう問題は解決していない。そちらは別原因のようだ。
Discussion