- 新しいカテゴリを作成しました
 → KP41病を疑うな
 - 上記リンク先の内容は、メーカー製のデスクトップPC、ノートPC、タブレットPCなどの KP41問題 を扱うカテゴリーとなっています。
- KP41病を疑う場合、通常は上リンク先を参考にして下さい。
 
- Windowsの(省電力機能を含めた)各種設定は、Windows Updateなどのタイミングで修正される場合があります。以下で紹介する方法は、通用しなくなる or 不具合が出る可能性もあります。挑戦する場合は、レジストリのバックアップを取るなど万全の準備を行ってください。
以下、このページの本文です。
現在のWindows7に「Mitigate.bat」を使うと、一部のUSB機器(USB Selective Suspendを許している設定)と「以前のACPI実装」にコンフリクトが発生する状況があるようです。
- 「Mitigate.bat」が公開された時期と現在では、Windowsおよびハードウェアの省電力設定の仕様が(少しだけ)異なっています
- 「Mitigate.bat」を試す際は、レジストリのバックアップを必ず残しておきましょう
- PC起動時にマウスやキーボードが数秒~数分フリーズする場合は、設定を元に戻すようにしましょう
Mitigate.batとは、kp41 workaroundさんが公開されているWindows7のKP41病を解消するためのバッチファイルです。(バッチに関する記述はこのへん)
▼kp41 workaroundさん

▲シンプルなテキストサイトです。
どういう仕組みか、と言うと、
「デスクトップPCの場合でも、バッテリの残量を調べに行って時々コケる、のカモ、」という仮定のもと「デスクトップPCでは隠し項目になっている、ノートPC用の電力設定を無効」にしちゃっています。
ああ、なるほど。
これは確かに効果がありそうです。
私のPCの場合「BIOS上でメモリ電圧を上げたり、各種電圧・周波数を微調整したり」でKP41病を解消しましたが、それができない一般的なPCの場合は、この方法を利用するのが効果的ですねえ。
紹介リンク
 ・kp41 workaround
  ・バッチに関する記述はこのへん
  ・(英語版) How to avoid Kernel Power id 41 problem
  ・(英語版2) How to avoid Kernel Power id 41 problem 2
日本語ページは「KP41解消までの試行錯誤、各項目の検証、質問への回答」なども含んでいるので、非常に詳しいです。その代わり、かなり長い文章かつ整理されていない状態で、気合を入れてじっくり読む必要があります。
英語が読める人は、英語ページを読んだほうが分かりやすいかも。
導入する際の注意点
注意1:
デスクトップPC用の設定ファイルと思われます。
バッテリーで駆動するPC(ノートやタブレット)には、この設定は行わないようにしておきましょう。
注意2:
Bat公開時と比較して、Windowsの省電力設定は若干異なるものになっています。USB機器(特にマウスやキーボード)が上手く作動しないPC環境もある、との事です。
念のため、[復元ポイントの作成]や[イメージの作成]を利用して、元の環境のバックアップを取っておきましょう。(少なくともレジストリのバックアップは取っておくこと)
導入方法
導入手順- kp41 workaroundさんのMitigate.bat記載部分にジャンプ
 
 ▲黄色い枠(「Rem // This is Mitigate.bat」~「pause」)の部分をコピー
 
 ▲コピーしたテキストを、メモ帳に貼り付け。
 「Mitigate.bat」と、拡張子も含め名前を変更する。
- 重要:事前準備
 コントロールパネル>電源オプションから、「高パフォーマンス」を元にして「電源プランの作成」から新しい電源プランを作成しておく(以下のパッチではこれが変更される事になる)
- 「Mitigate.bat」を実行する
 注意:この時「管理者として実行」を選択すると、ログが出力されない。
 
 ▲実行後、Mitigate.txtという名前のログファイルが生成されていればOK。
 設定変更前の各種電源設定がメモされているので、初回実行時のログは名前を変更して保存しておこう。(ログは毎回上書きされる)
- 最後に念のためPCを再起動する。
- その他
 - 1回の実行では上手く設定が反映されない場合があるようなので、「おかしいな?」と感じたら2~3回実行してみよう。
- PC環境によっては、Mitigate.batのみでは変更しきれない項目がある模様。出力結果(Mitigate.txt )を元に、Mitigate.batを自前で調整する必要がある場合があります。
- バッチ実行後にコントロールパネルから「電源オプション」を開き色々と設定を変更していると、設定の一部が元に戻ってしまう場合もあるみたいです?
 
結果
- Mitigate.batを導入し、1ヶ月ほど経過。PCに悪い影響は発生していない。
- しかし私のPC環境では、改善された箇所も見当たらない。
 私のPC環境・・・・ 
 バッチ適用前から既にKP41病をクリアしている。
 BIOS上のCPU負荷により可変する項目(Vcore、CPU Voltage Frequency、DRAM Frequency )などを全て固定値に変更してある。
 ・・・・このようなPC環境には効果は無し。
- オーバークロック耐性が少しでも上がるかな?と期待しましたが・・・
 ・C1E有効にしたまま4.7GHz以上にOC可能か? 
 ・C3有効にしたまま4.4Ghz以上にOC可能か?
 ・C6有効にしたまま4.1Ghz以上にOC可能か?
 以上を検証しましたが、効果なし。
 Cステートに無茶な設定を施した場合は効果ありません。そんな都合の良い話は無いですね(^_^;
もっと詳しく知りたい/なんか作動していない気がする
「windows7 powercfg.exe」という単語で検索してみましょう。
参考にできるページ- Windows vista または Windows 7 では、アクティブな電源プランの電源オプションを構成すると、変更内容のコントロール パネルの [電源オプション] 項目で反映されません。
- グループ ポリシーやコマンドラインから電力設定を展開する方法
- powercfg.exeで電源設定の内容を表示 - ti-web.net blog
- バッテリー項目のレジストリIDについて
 Problems/inconsistencies in power scheme switching...
その他
kp41 workaroundさんの検証によると、BIOS上の[Thermal protection](CPUの過熱を防ぐ為のセンサー機能)をオフにする事でもKP41はかなり解消される、との事。
(注意:PCが熱暴走する危険性が高くなるので、安易な気持ちで実行し無い事)
私はマザーのDIGI+上の各項目を盛大に盛っているので、Thermal protectionを無効にするという発想は全く持たなかったのですが・・・なるほど、確かにこれも効果ありますねえ。
私のPCセッティングだと怖くて常時利用できませんが、(PCをフル稼働させることは無い・PCを無人のまま放置する事は無い、という場合は)各種モニタリング機能を無効化するってのは原因特定が困難なKP41エラーの対策にかなり有効かもしれません。
あとがき/まとめ
デスクトップPCの場合でも、ノートPC用の設定(バッテリーなどDC電源を利用した際の電力設定)が隠し項目として設定されている。CPUに負荷がかかっている/いないに関わらず、一定時間PCを操作していない場合に発生するBSoDは、ノートPC用の電力設定が悪影響を与えている。。。と。
この発想はなかったです。スゲー。