Windowsが頻繁にブルースクリーンになったり、勝手に再起動してしまったりする「KP41問題」を克服したときの情報。
Kernel Power イベント番号41とは

Windowsにはイベントビューアというツールが用意されています。タスクバーの検索窓から「イベントビューア」と入力して起動できます。
このイベントビューアを起動すると、「重大」という欄にソース「Kernel Power」からイベントID「41」が報告されていることがわかります、これが予期しない再起動が起こったことを示すイベントです。
勝手に再起動させない設定
Windowsにはシステムに重大なエラーが起こった際に、勝手に再起動する設定があります。これはオフにして勝手な再起動をしなくできますが、オフにしてもブルースクリーンが出るだけで、そうなれば結局電源ボタンを長押しして強制シャットダウンするしかなくなったりするので、設定をオフにする意味がないような気もしますが、ブルースクリーンにはエラーの情報が多少ですが出ていたりするので、一応勝手な再起動をオフにする方法を書いておきます。
スタートボタンを右クリック➔システム➔
右側の欄の中央付近にある「システムの詳細設計」というリンクを選択➔
≪システムのプロパティという画面が表示されます≫
同画面の「起動と回復」という欄の「設定」ボタンをクリック➔
≪起動と回復という画面が表示されます≫
「自動的に再起動する」というチェックを外します。


ユーザーはハイパーバイザー機能を使用できません
KP41エラーが起きる時刻の少し前に表題のようなエラーが出ていることがあります。筆者の場合、ブルースクリーン(または強制再起動)の原因がどうもこのエラーにあるように思い、対処しました。具体的にはWindows機能の1つで仮想マシンを利用できる「Hyper-V」をインストールしました。するとそれ以降、毎日起こっていたブルースクリーンは出現しなくなりました。
BIOSの仮想化の機能をONにする
これは、メーカーによって非常に異なるので、お使いのパソコンのBIOS設定を確認してもらうしかないのですが、Advaced設定内のSVMや「Intel Virtualization Technology」などをONにするイメージです。
Hyper-Vをインストールする
タスクバーの検索窓から「コントロールパネル」と入力して、コントロールパネルを開きます。

表示方法が「カテゴリ」の場合で説明。「プログラム」を選択します。

次に「Windows機能の有効化または無効化」を選択します。

「Virtual Machine Platform」と「Windows ハイパーバイザー プラットフォーム」をONにします。
Windows ハイパーバイザー プラットフォームが見当たらない場合
もしも「Windowsの機能」画面でハイパーバイザープラットフォームが見つからない場合、以下の操作で機能を追加することができます。
スクリプト1
まずこのスクリプトを「ファイル名.bat」として保存し、管理者として実行します。途中(最後のほう)でエラーになるかもしれませんが、とりあえず実行します。
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
スクリプト2
次にこのスクリプトも「ファイル名.bat」として保存し、管理者として実行します。
pushd "%~dp0"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
インストール
スクリプトを実行したら再起動し、再度「Windowsの機能」画面を出して「Windows ハイパーバイザー プラットフォーム」を有効化します。