Kp41病(ブルースクリーン)を解決するまでにやったこと
突然PCがフリーズしてシャットダウンしてしまった経験がある方は多いのではないでしょうか。
実は、私自身のPCも3か月ほど前にKp41病にかかってしまい、解決までいろいろと試行錯誤しました。
今回は、同じようなお悩みを抱えている方の参考になればと思い、実際に自分が解決するまで行った手順をご紹介します。
kp41病とは
kp41病は、Windows10のPCで発生するエラーの一つで、パソコンが正常にシャットダウンされず、強制的に電源が切れた時に記録されるエラーメッセージです。
正式にはkernel power41といいます。
重い作業・軽い作業どちらの場合でも発生し、そのタイミングはバラバラなことが多いです。
頻発するわけではありませんが、どのようなPCでも発生する可能性があり、PCを買い替える人もいるほど多くの人を悩ませているエラーです。
kp41の代表的な原因
私が調査した限り、このエラーの原因は、以下のようなものが多いとされています。
・ハードディスクの省電力設定が有効になっている、
・高速スタートアップが有効になっている、
・デバイスドライバーの互換性に問題がある、
・オーディオドライバーが重複している、
・セキュリティソフトに不具合がある、
・BIOSのバージョンが古く問題がある、
・ハードウェア (ハードディスク・グラフィックボード・メモリ)の接触不良
・ハードウェア (ハードディスク・グラフィックボード・メモリ・マザーボード・電源ユニット)の故障
ただ、この中に該当するものがあったとしても特定することはかなり大変です。
実際に原因を特定できず、PCを買い替えた人もいます。
ハードウェア起因と当たりを付けて、PCのパーツを手当たり次第に換装するのは非常にコストがかかるうえに、改善するかも分からないためあまりおすすめしません。
調査が面倒でPCが古いという方はいいタイミングかもしれないので検討してもいいと思います。
代表的な対処法は?
kp41病が発生した場合の代表的な対処法は、以下のようなものがあります。
・ハードディスクの省電力機能を無効にする
・高速スタートアップを無効にする
・デバイスドライバーを最新に更新する
・重複したオーディオドライバーを無効化する
・不要なUSB周辺機器を取り外して起動する
・セキュリティソフトをアンインストールする
・BIOSをアップデートする
・PCを初期化する
・ハードウェアを再接続する
・ハードウェアを修理/交換する
ひとまず、最初はこれの方法を片っ端から試してみて、様子を見るのがおすすめです。
ただ、私の場合は一向に解決する気配がありませんでした。
同じ症状に悩まされている人を何人か調べてみましたが、これだけで解決した人は一人もいなかったので、解決するケースは稀かもしれません。
実際に行った対処法
先ほど紹介した通り、kp41といっても原因が様々で特定が非常に難しいです。
ただ、逆に言えば原因さえ特定できればそれを改善すればいいということになります。
なので、とにかく原因特定する方法を試しました。
手順1
まずはwindowsに付属で入っている管理ツールのイベントビューアというアプリケーションで大まかな原因を調査しました。
イベントビューアはシステムに起きた出来事を一覧にしたり詳細を閲覧することができるもので、
タスクバーの検索ボックスに「イベント」と検索すれば出てきます。
開いたら左側に表示されているWindowsログというディレクトリを開きます。
その中にシステムという欄があるので、クリックします。
表示された一覧の中に「レベル」という欄があるので、「重大」と赤色で表示されているもので「ソース」の欄が「Kernel-Power」と表示されているものをクリックして開きます。
※重大が見つからない場合は、右側の「操作」の欄から「現在のログをフィルター」をクリックして、重大のみに絞ってみてください。
※Kernel-Power41は必ず重大レベルでログが残ります。
開いたら基本的には以下のようなメッセージが記載されていると思います。
「システムは正常にシャットダウンする前に再起動しました。このエラーは、システムの応答の停止、クラッシュ、または予期しない電源の遮断により発生する可能性があります。」
メッセージが表示されている欄は「全般」のタブになっていると思うので「詳細」のタブに切り替えます。
詳細に切り替えたら英語でつらつらと書かれていると思いますが、ここで大事なのは一つだけです。
「BugcheckCode」と記載されている行の番号をメモをしておきましょう。後でこのエラーコードを元に調査を行います。
※エラーコードが0となっている場合は、原因特定に使用することができません。
手順2
先ほどBugcheckCodeをメモしたかと思いますが、このコードでエラーの原因を大まかに特定することができます。
どのように特定するかですか、数字を16進数に直します。
以下のサイトを利用すると計算しなくていいので楽です。
https://hogehoge.tk/tool/number.html
直したら、以下のリンクからバグチェックコードリファレンスを見ましょう。
【MicroSoft公式 バグチェックコードリファレンス】
https://learn.microsoft.com/ja-jp/windows-hardware/drivers/debugger/bug-check-code-reference2
アクセスしてすぐにページ内検索すればヒットするものがあると思いますので、ヒットしたものをクリックして開きます。
開くといろいろ原因やら何やらが書かれていますが、正直をこれを読んでああなるほどとなっている人はこの記事は読んでいないと思うので、内容はわからなくて問題ありません。
バグチェックの名称が分かったら「バグチェックの名称 原因」などと検索してみて紹介されている方法を片っ端から試してみましょう。
これで解決しなかった場合や、そもそもマイナーすぎて検索しても対処法が出てこなかった場合は手順3に進んでください。
手順3
これは最後に自分が試して解決した方法です。
結論から言うとダンプ解析をします。
ダンプファイルはシステムエラーになった際にPCが最後の力を振り絞ってエラーの原因を伝えてくれているファイルですが、これを調査することによって何が原因でエラーが発生したかを知ることができます。
ただ、詳しく解析しようとすると専門的な知識が必要なので、簡易的な方法でやりましょう。
まず、下記のページからWindbgというツールをダウンロードします。
https://learn.microsoft.com/ja-jp/windows-hardware/drivers/debugger/
ダウンロードしたら管理者権限でWindbgを開きます。
※管理者権限でないとダンプファイルにアクセスできないので注意
「File」→「Open Crash Dump」の順でクリックします。
クリックしたら、解析するダンプファイルを選択します。
ダンプファイルの以下のパスにあるので、一覧の中から解析するファイルを選択してください。
C:\Windows\Minidump
選択して開いたら 「!analyze -v」をクリックします。
クリックすると解析が自動で始まるのでしばらく待ちます。
解析が完了したら、一番下に原因ぽい一覧が記載されていると思うのでそれを順番にブラウザで検索します。
私の場合は、これで原因が特定できました。
※より詳細に解析しないと特定できない場合もあります
ちなみに原因はあるハードウェアの互換性問題でした。
そのハードウェアを使用しないようにするだけでkp41は発生しなくなりました。
まとめ
今回のように一発で原因特定にいたるケースばかりではないと思いますが、同じ症状でお悩みの方はぜひお試しいただければと思います。
OSを何度もクリーンインストールしたりしましたが、無事に解決できてよかったです。