見出し画像

VRChatでパソコンが落ちるのを直した話(KP41病)


気がついたらSteamVRで、VRChatをするたびに確定でパソコンが落ちるようになってしまっていました。
ちなみに落ちるときはなんの前触れもなく急に落ちます。
直すために色々やったことをここにまとめておきます。
(Windows11)

KP41とは

これが今回の 諸悪の根源 です。
でも中身は凄くシンプル。

システムは正常にシャットダウンする前に再起動しました。このエラーは、システムの応答の停止、クラッシュ、または予期しない電源の遮断により発生する可能性があります。

エラーメッセージより

要するに、「理由はわからないけどパソコン落ちたよ!」です。
人によってその理由は違うそうなので、ますますどう修復するればいいかわからないのです…

結論 Meta Quest Linkを使用しない!

  1. Meta Quest Linkをアンインストールする

  2. Steam Link(おそらくVirtual Desktopでもいける?)でVRCを起動する

これで直りました!
Steam Linkの使い方についてはこちら
https://www.moguravr.com/steam-link/

余談

これで直る原因について考察してみます。

ドライバー \Driver\WUDFRdを読み込めませんでした。

おそらくこのエラーがKP41を引き起こしているようで、KP41が起こるときには必ずこのエラーがありました
(ちなみにこのエラーはイベントビューアーを使うと見に行けます。)

そして、このドライバーはMeta Quest Linkのものであり、Meta Quest Linkをアンインストールすることでこのエラーもなくなりました。

以下はやっても直接的には影響しなかったものです!

色々やったけどできなかった人だけ見てください






やったこと

Windowsの修復(これじゃなかった)

システム的におかしいのかなと思いはじめにWindowsの修復を試みました。

DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow

マイクロソフトのページより

一応これで何個かのファイルが修復されたそうなのですが、まだ解決には至りませんでした。


Windowsの再インストール(OS)のみ(これじゃなかった)

これでもだめだったのでWindowsの再インストールをしました。
ですが、クリーンインストールだと流石に嫌なのでアプリとファイルを保持させる設定で行いました。
再インストールにはUSBのインストールメディアを使用しました。
しかし、何も変わりませんでした!! 
まあその前にシステムチェックで問題ないことがわかってたから当然っちゃ当然かもしれません。でもインストールにかかった時間返してほしい 


SteamVRの整合性チェック(これじゃなかった)

もはや何も言うまい(整合性に問題はありませんでしたとさ)
うーーーん困った


QuestLinkアプリの再インストール&HMDの再追加(これじゃなかった)


なんじゃあああこりゃああああ!?!?!?!?!?
しかも全部同じエラーかつ、ほぼ毎秒!?!?!?!?(絶望)

次のエラーのため、セッション "OculusVadApoEventTrace" を開始できませんでした: 0xC0000035

というわけでQuestLinkアプリを再インストールして、もう一度questをデバイス欄に追加しました

あー………直りませんねコレ
でも多分デスクトップモードでも起こるのに、デスクトップモードでは落ちないのでもうこの問題は無視することにします。


ここで気づいたこと

ここで、このエラーが出る直前にある2つのエラーがくっついていることに気が付きました。
これは怪しい!!!

下の2つです
ドライバー \Driver\WUDFRdを読み込めませんでした。
ディスク 1 のディスク識別子が、システムに接続されている 1 つ以上のディスクと同じです。

1つ目は、OSを再インストールした後でも起こっているのでよくわからず、
2つ目は、直近でSSDクローンをしていたので心当たりがありました。

ディスク識別子を直す(これじゃなかった)

タスクマネージャー

2つ目のエラーのほうが簡単に直せそうだったのでこっちからやります。
これを見るとディスク1にドライブレターが割り振られていないように見えるのですが、

エクスプローラー

この通り、「ディスク1」にはAのレターが割り振られていました!
わからん!!!!!!!

この「タスクマネージャでドライブレターが振られていない」ということについて調べてみたところ、このような記事が見つかりました。

とりあえずこの記事曰く、フロッピー時代の名残で表示されなくなっている可能性があるとのことなので、Aのレターを変えてみます

ディスクの管理から

そうすると

ちゃんと表示されるようになりました!!!!!!!!!!

ついでに2文字になっているディスク0のレターを直します
とりあえず謎の競合を起こしているGDを少しいじってみます。
エクスプローラー上だとGドライブはgoogleドライブとのことなので、googleドライブに割り当てられているドライブレターを変えて検証してみます。

Googleドライブアプリの設定

Googleドライブの設定は通知領域から開きました。
すると見事に

さっきまでGだった部分がQに置き換わっています。
おや?これはgoogleドライブが悪さをしている?

ということでgoogleドライブの設定を変えて仮想ドライブとしてではなく、パソコン上のフォルダにストリーミングさせるようにします。

googleドライブの設定

これでしっかりとドライブレターが1文字になりました。
し か し!
このエラーは消えませんでした。
ど う す る の さ

と、いうわけで…

Get-Disk | Select-Object Number, FriendlyName, UniqueId

ディスク識別子のエラーを直そうとして、
上記のコマンドをpowershell(管理者)で実行しました。

するとこんなふうにUniqueIDが被っているディスクが表示されました。
しかし、これの変更は不可能なようだったため、IDが競合しているディスクの片方を外しました。
あとついでにquest link・グラフィックボードのドライバも再インストールしました。
ちなみにこれでUniqueIDのエラーは直りました。

ちなみにPowerShellだけでなく、DiskpartでもUniqueIDは確認できるそうなのですが、それぞれで表示されるものは実は別物のようです。

PowerShell UniqueID変更不可
Diskpart   UniqueID変更可

DiskpartからUniqueIDの書き換えは試してみましたが、PowerShellで表示されるものとDiskpartで表示されるものが根本的に違うようで(変更自体はできた)、Diskpartで色々操作しようとしても無理みたいです。


ドライバーの不具合を直す(これじゃなかった)

ドライバー \Driver\WUDFRdを読み込めませんでした。
デバイス: ROOT\DISPLAY\0000
状態: 0xC0000365

というわけで残ったこいつを倒しに行きます。
そして、ディスプレイのドライバかーと思って一覧を見ていたら、ありました!!!

デバイスマネージャー

お 前 か よ
情報タブに書いてあるROOT\DISPLAY\0000と完全にエラーの対象が一致していました。
metaはどうしてこんなクソドライバを作ったんだと言いたくなりますが、これはmetaのドライバの名前じゃないっぽいです。
ごめんね、meta
(6年前の記事にもこの名前があったのでそう判断しました)

それではとりあえずMeta Quest Linkを再インストールしましょう。
…………..直らないですね

それならばもう丸ごとドライバを再インストールすることにします。
そのためにはDDU(Display Driver Uninstaller)を使用します。

https://jp.msi.com/support/technical_details/DDU
(MSIの解説サイト)
このツールを使ってディスプレイドライバもろともアンインストールします。
このツールを使うときにはセーフモードで使うようにしましょう

  • 私はF3キーから「オプションの選択画面」は出なかったので、Shiftを押しながら再起動ボタンを押す、という方法でこの画面を出しました。


~ドライバのアンインストール後~

  1. GeForce公式からもう一度ドライバをダウンロードしてきてインストールしました。(面倒だったのでGeForceExperienceはインストールしないようにしました)

  2. 何ならついでにMeta Quest Linkももう一度アンイストールしました。(Meta Quest Linkのドライバも消えた気がしたので)
    前にしたときは「修復」機能を使ったのですが、今回はアンインストール→再インストールの方法を取りました。

再インストール後の起動画面

再インストール、ヨシ!!

それではこれでもう一度VRCに潜ってみましょう
ちなみに再インストールした状態だと、Quest LinkからSteamVRを直接開くことはできなかったので、一度パソコンのSteamから起動させました。

できた!!!!(本当は直ってなかった)

このサンプルの子かわいい
イベントビューアー

イベントビューアーではなんか色々エラー出てますが、さっきまでに発生していた

次のエラーのため、セッション "OculusVadApoEventTrace" を開始できませんでした: 0xC0000035
ディスク 1 のディスク識別子が、システムに接続されている 1 つ以上のディスクと同じです。
ドライバー \Driver\WUDFRdを読み込めませんでした。

こいつらは発生していないのでよしとします。

.
.
.
.
.
.
.
.
あ、落ちた(絶望)

いいなと思ったら応援しよう!