注意

 


 

以下、このページの本文です。

追記注意(2014/10/30)
現在のWindows7に「Mitigate.bat」を使うと、一部のUSB機器(USB Selective Suspendを許している設定)と「以前のACPI実装」にコンフリクトが発生する状況があるようです。
  • 「Mitigate.bat」が公開された時期と現在では、Windowsおよびハードウェアの省電力設定の仕様が(少しだけ)異なっています
  • 「Mitigate.bat」を試す際は、レジストリのバックアップを必ず残しておきましょう
  • PC起動時にマウスやキーボードが数秒~数分フリーズする場合は、設定を元に戻すようにしましょう

Mitigate.batとは、kp41 workaroundさんが公開されているWindows7のKP41病を解消するためのバッチファイルです。(バッチに関する記述はこのへん)

▼kp41 workaroundさん
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環境もある、との事です。
念のため、[復元ポイントの作成]や[イメージの作成]を利用して、元の環境のバックアップを取っておきましょう。(少なくともレジストリのバックアップは取っておくこと)

導入方法

導入手順
  1. kp41 workaroundさんのMitigate.bat記載部分にジャンプ
  2. Mitigate.bat
    ▲黄色い枠(「Rem // This is Mitigate.bat」~「pause」)の部分をコピー
  3. 「Mitigate.bat」と拡張子も含め名前を変更
    ▲コピーしたテキストを、メモ帳に貼り付け。
    「Mitigate.bat」と、拡張子も含め名前を変更する。
  4. 重要:事前準備
    コントロールパネル>電源オプションから、「高パフォーマンス」を元にして「電源プランの作成」から新しい電源プランを作成しておく(以下のパッチではこれが変更される事になる)
  5. 「Mitigate.bat」を実行する
    注意:この時「管理者として実行」を選択すると、ログが出力されない。
  6. 実行後
    ▲実行後、Mitigate.txtという名前のログファイルが生成されていればOK。
    設定変更前の各種電源設定がメモされているので、初回実行時のログは名前を変更して保存しておこう。(ログは毎回上書きされる)
  7. 最後に念のためPCを再起動する。
  8. その他
    • 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」という単語で検索してみましょう。

参考にできるページ

その他

kp41 workaroundさんの検証によると、BIOS上の[Thermal protection](CPUの過熱を防ぐ為のセンサー機能)をオフにする事でもKP41はかなり解消される、との事。
(注意:PCが熱暴走する危険性が高くなるので、安易な気持ちで実行し無い事)

私はマザーのDIGI+上の各項目を盛大に盛っているので、Thermal protectionを無効にするという発想は全く持たなかったのですが・・・なるほど、確かにこれも効果ありますねえ。
私のPCセッティングだと怖くて常時利用できませんが、(PCをフル稼働させることは無い・PCを無人のまま放置する事は無い、という場合は)各種モニタリング機能を無効化するってのは原因特定が困難なKP41エラーの対策にかなり有効かもしれません。

あとがき/まとめ

デスクトップPCの場合でも、ノートPC用の設定(バッテリーなどDC電源を利用した際の電力設定)が隠し項目として設定されている。CPUに負荷がかかっている/いないに関わらず、一定時間PCを操作していない場合に発生するBSoDは、ノートPC用の電力設定が悪影響を与えている。。。と。

この発想はなかったです。スゲー。