夢想メモリ

ゲームの攻略、データ、感想、縛りプレイのこと等を中心に、ゲームとは無関係の雑記も書きます。

X79 Extreme4 + Windows10のフリーズがBIOSアップデートで解決した

OSをWindows7からWindows10やWindows8.1に変えたところ、 PCが不定期にフリーズするようになった。 マザーボードはAsRockのX79 Extreme4を使っていたのだが、 BIOSのバージョンをP1.80→P3.70にアップデートしたところ、 フリーズは起きなくなった。 BIOSが古く、新しいOSのデバイスドライバ等の間で不具合が生じていたのだと思う。

以下、PCスペックやフリーズの症状、 フリーズを直すまでの過程とか得た教訓とかを書いていく。 誰かのPCの不具合解決に繋がれば幸い。

PCスペック

  • OS : Windows10
  • ストレージ : CSSD-S6B480CG3VX
  • CPU : Core i7 3930k
  • メモリ : 16GB
  • グラフィックボード : GTX 1660 ti
  • マザーボード : AsRock X79 Extreme4

基本的には上記環境だった。 OSがWindows8.1の時にも1回、 OSはWin10でグラフィックボードがGTX 550 tiの時にも1回フリーズが起きた。

フリーズの症状

PC起動中、平均して5~6日に1回フリーズが起きるようになった。 ゲームをしたり動画を見ている時にフリーズすることが多かったが、 動画を再生していないChromeだけ等、 処理の軽そうな作業中でもフリーズは起きた。 処理量とフリーズ頻度が比例していたように感じた。

フリーズ時、画面はその時点のものが映ったままになる。 ディスプレイの電源を付け直しても同じ画面が映る。 グラフィックドライバの再起動は利かなかった。

フリーズ時に音が鳴っていた場合、ビーとかガーとか音が鳴り続ける。 スピーカー本体のボリュームコントローラで音量調節が可能だった。 その瞬間の音が繰り返し再生されているものだと思う。

フリーズ時に可能な操作は、キーボードのライトの操作、 スピーカー本体のボリュームコントローラによる音量調整、 電源ボタン長押しによるシャットダウンだけだった。

これらの症状は10分ほど放置しても変化無し。

パーツは正常に動き、BIOSは機能しているが、 OSの応答が完全に無くなったものだと思っている。

フリーズ発生から直すまでの過程

19年の夏頃、もうすぐ増税Windows7のサポート終了ということで、PCの構成を変更することにした。 まずOSをWindows7→Windows10に、OSを入れるドライブをHDD→SSDに換えた。 この後一度ゲーム中にフリーズが発生したが、偶然だと思って気に留めていなかった。 それからグラフィックボードをGT 550 ti→GTX 1660 tiに換えて以降、 何度かフリーズが起きるようになった。 最初はゲームに特有の問題かと思っていたが、他の作業中でもフリーズが発生するので対処に当たることに。

物理故障もしくはインストールしたアプリケーションの問題だと思ってたのだが、原因は分からず。 折角Windows10にしたので気は進まなかったが、Windows7に戻してみた所、フリーズが発生しなくなった。 このことからデバイスドライバとかマザーボードらへんが原因と考え、色々やってみたが改善しなかった。

そこでWindows8.1のライセンスを持っていることに気付いた。 マザーボードの発売が2011年で、Windows8発売が2012年。 このくらいの時期の差なら問題は起きないだろうし、 マザーボード等はWindows8.1のサポートが切れる2023年に新調すれば良いと考えてWin8.1をクリーンインストールした。 4日でフリーズした。

もうマザーボードとメモリとCPUを買い替えるしかない、i7 9700KとZ390を買おうと思った。 その前に最後にBIOSアップデートだけ試した。直った。 Windows10でも大丈夫だった。

結局フリーズが頻発するようになってから解決の判断を下すまで1年近くかかった。 確かに状況からしてもっと早くBIOSアップデートするべきだったとは思う。 しかし、解決に時間がかかったのは、フリーズの間隔が平均して5~6日に1回と低かったのが主因。最長間隔は3週間以上だった。 それゆえ、対処に効果が無かったことを確認するまで時間がかかるし、直ったことを判断するにはもっと時間がかかった。

行ったけど効果のなかった対処、確認したけど異常の無かったことなどは以下の通り。

  • インテル ドライバー&サポート・アシスタントのアンインストール
  • Windows付属のメモリ診断。異常は無かった。
  • CrystalDiskInfoによるチェック。OSを含むSSDにもデータ用のHDDにも異常は無かった。
  • Windows10の再インストール(アプリと設定は引き継いだ)
  • Steamクライアント、Resident Evil 4の再インストール。RPG Maker MVのアンインストール。
  • Windows10のクリーンインストール(引継ぎ等無し)
  • Microsoft Visual C++ 2010のアンインストール
    • これアンインストールしてフリーズが改善した人の話を見つけたから
  • LPM問題への対処。レジストリエディタで設定可能な項目を増やし、電源オプションからAHCI Link Power Management - HIPM/DIPMの設定をActiveに。
  • 電源オプションから PCI Express > リンク状態の電源管理 > オフ に変更
  • 高速スタートアップの無効化
  • SATAケーブルの交換と差し込みポートの変更
  • SSDを取り外し、HDDにOSを入れる
  • AsRockのサポートからINFドライバ、MEドライバをインストール
  • IRSTの12.9のインストール
  • オフライン状態にする
  • Windows7から最低限のドライバだけを入れてWindows10にアップグレードする
    • SAFE_OSフェーズでインストールが停止して失敗
  • オフライン環境でWindows10をクリーンインストールし、手動でドライバをインストールし、デバイスのインストールの自動化を停止。グループポリシーエディタから以下4つも設定。
    • WinUpdateからドライバ除外
    • 自動更新を構成 2.通知
    • バイスの検索場所からwindowsupdateを除外
    • バイス メタデータをインターネットから取得しない
  • Windows10の代わりにWindows8.1を入れる
  • PASSMARKのMEMTEST86を2周。エラー無し。
    • Hammer Testはしなかった

PCがフリーズする時にBIOSのアップデートをするべきか

行った方が良い状況は限定的。 古いマザーボードを使っていて、 新しいハードウェアもしくは新しいOSを導入してから不具合が発生し、 BIOSデバイスドライバ以外のソフトウェア面に問題が無さそうと考えられる時に実行すべきだと思う。

実行は別に難しくないが、失敗すると最悪買い替える必要が生じるので、 全く知識が無い人がいきなりするべきではない。

フリーズが発生しないと判断した根拠

不具合が起きていた頃、あるゲームにハマっていた。

  • ゲーム中は普段より高い頻度でフリーズする気がする
  • Steamでプレイ時間を記録してくれる

という理由で扱いやすいので、このゲームのプレイ時間を直ったかどうかの基準に用いることにした。

平均T時間の間隔でフリーズする時、X時間フリーズしない確率をP(X)とおく。 まずはP(T)を考えてみる。

  • T/2時間毎に1/2の確率でフリーズするとしたら、P(T) = (1/2)2
  • T/3時間毎に1/3の確率でフリーズするとしたら、P(T) = (2/3)3
  • T/4時間毎に1/4の確率でフリーズするとしたら、P(T) = (3/4)4
  • T/n時間毎に1/nの確率でフリーズするとしたら、P(T) = {(n-1)/n}^n

アイテム選択画面とかゲーム内では処理が比較的軽そうな時もフリーズしたので、 ゲーム中あらゆる瞬間に等しい確率でフリーズすると考えて良さそうだった。 つまりnはとても大きい。
n→∞としてP(T) = 1/e (式変形は書くの面倒臭くなったので省略)
よってP(X) = (1/e)X/T

よくフリーズするようになる前から平均して年に1回くらいはフリーズしてたし、 判断に時間がかかり過ぎるのも面倒臭かったので、 「直ってなかったとしたら99%の確率でフリーズしてしまう時間X」だけフリーズせずにいたら直ったと判断することにした。
つまりP(X) = 0.01
両辺の逆数を取って、eX/T = 100
両辺の自然対数を取って、X/T = ln(100)
X = ln(100)×T ≒ 4.6T

211時間で13回フリーズしてたので、平均フリーズ間隔T = 211÷(13-1) ≒ 17.6時間。よってX ≒ 81時間。 そして、実際に81時間そのゲームやってフリーズしなかったから、直ったと判断してこの記事書いてる。

過程の項で述べた通り、 Windows7Windows8.1とWindows10の3つでフリーズしないと判断したのだから240時間以上かかってる(win7は使わないつもりだったから厳密にやってなかったかも)。 途中でそのゲームに飽きて他のゲームもやってたので記事を書くのは遅くなったが、 実際最後にフリーズが発生したのは1月10日。

得られた教訓

こだわりが無ければ、PCの構成は多くの人が使っているものにする

不具合があれば多くの人が気付くのでその情報が豊富に発信されるし、 ソフトウェアの開発者がその不具合に対応する可能性も高い。

BIOSのアップデートで解決する辺り、 AsRock X79 Extreme4 P1.80 + i7 3930k + Windows8.1/Windows10 という組み合わせだと確実にこの不具合が起きるのではないかと思うのだが、 マイナーな構成の所為かそんな情報は見つからなかった。 よくある構成でもマザーボードの型番とBIOSのバージョンまで一致しなければ 発生しない不具合はなかなか共有されないかも知れないが。

正直に言うとこの構成は昔よく分からず選んだもので、 実際この性能は今でも過剰なくらいなので、 もっとよくある構成にすれば良かったのではないかと思う。

システムに変更を加える時は少しずつ行う

一気にシステムを変更すると、不具合が起きた時に原因を特定するのが難しくなる。

私の場合、ストレージとOSを同時に変えるのはまだ良いとして、 フリーズが起きたのにグラフィックボードも変えてしまったのは良くなかった。

考えられる解決策が複数ある時、実行しやすくお金のかからない方法から行う

不具合が生じた時は、コントロールパネルから設定を変える、 ハードウェア故障の診断ソフトを使う、 フリーズの原因になってそうなソフトをアンインストールするといった簡単なことを初めに行い、 解決しないならOSの再インストール、ハードウェアの交換などの作業を行っていく。 ハードウェア交換の際もHDDみたいな他目的に転用しやすいものから交換すると良いと思う。

BIOSのアップデートは失敗すると買い替えの必要が生じることもあるので買い替え直前に行ったが、 もう少し早い段階で行うべきだったかも知れない。

PCへの興味と金銭的な余裕の程度から自分でどこまで対処するか決めるべき

この不具合を解決するまでに半年近くかかっており、 対策だけで数十時間は費やした。 その分だけアルバイトでもすれば、修理に出す、新しいPCを買う等して早く解決できたと思う。 働きたくなかったのでやらなかったけど。

PCに興味無いならここまで疲弊するよりお金で解決した方が良いと思う。

可能ならばアプリケーションはOSと異なるドライブにインストールする

クリーンインストールする際にアプリケーションをインストールするのが面倒臭いので、 常駐ソフトとかでなければDドライブにインストールした方が良いかも知れない。

Steamのゲームも上海アリス幻樂団のゲーム(東方)もDドライブに入れて問題無かった。 あとはフリーソフトならポータブル版があればそちらを使うとか。