treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

どうしても省電力マネージャで充電制御が使いたい

ThinkPadになじみが深い方であれば省電力マネージャはバッテリ管理はかなり愛用されていたのではないかとお察しします。
ただし、使いたい需要はバッテリの寿命を延ばすために、「バッテリの充電制御でバッテリーの充電範囲を設定する」という設定を使えればそれでよいという方は結構多いのではないでしょうか?
対応していないOSでこのバッテリの充電制御だけ、(割り切って)使えるようにするためのインストール方法をご報告します。
以下の条件に当てはまる場合にはお役に立つかもしれません。

  • 常駐は不要、ただしアプリケーションを起動してバッテリの充電範囲(例:60%以下で充電開始、80%で充電停止)設定がしたい。
  • Windows標準ではなく省電力マネージャが持っている電源プロファイルを適用したい。
  • Windowsユーザすべてに同一の電源プロファイルを適用したい。
  • 多少エラーが出ても気にしない。(ここ一番重要)

※これ以降の記載はお使いの環境に非常に左右されます。
また省電力マネージャは省電力ドライバのバージョンに動作が左右されるプログラムですので、お使いの環境すべてが成功することを保証できるものではないことをご了承ください。
月並みですがこの記述を参考にして実施された全ての行為、被った損害・損失に対しては、一切の責任を負いかねます。ご了承ください。(つまり自己責任にて実施ください。)

まずはこの方法を実行した環境を記載しておきます。
ThinkPad T420s:Windows8.1/Windows8/WindowsServer2012R2
ThinkPad X61s:WindowsServer2012R2
ThinkPad X60s:Windows8.1
※WindowsServerはHyper-V専用ですので、余分なものは入れません。
※全て64bitEditionの正規版を使用しています。
※T420s/X61sは64bitEdition、X60sのOSは32bitEditionを使用しています。(2015年10月15日訂正)
※サーバOSをノートPCで使うなよ…というツッコミはナシでお願いします。
使用したバージョン:
 省電力ドライババージョン=1.67.10.2か1.67.4.5
 省電力マネージャバージョン=6.65.2か6.67.5か7.47.2

まず利用のためには.NetFramework3.5が必要です
役割と機能の追加ウィザードからインストールします。

f:id:treedown:20150717164955p:plain


LenovoサイトからWindows7用(64ビットと記載のある)省電力マネージャを展開し、展開したパス(デフォルト:\SWTools\readyapps\pwrmgrv)の中に格納されているsetup.exeを右クリックします。
setup.exeのプロパティから「互換性」タブをクリックして、「互換モードでこのプログラムを実行する。」にチェックを入れます。
またドロップダウンリストから「Windows 7」を選択します。

f:id:treedown:20150717165047p:plain


※互換性ウィザードを使う場合の操作方法-------
上記のsetup.exeのプロパティから互換性設定をすればインストールプログラムは動作するはずですが、互換性ウィザードを使用してsetup.exeを実行するやり方が公式(だったように記憶しています。)です。
この場合には、ウィザード画面を次のように進めていきます。
setup.exeを右クリックし、メニューから「互換性のトラブルシューティング」を選択します。

f:id:treedown:20150717165126p:plain


互換性のトラブルシューティングツールが起動するので、「問題のトラブルシューティング」を選択します。

f:id:treedown:20150717165140p:plain


「気づいた問題」というタイトルの画面で、「以前のバージョンのWindowsで動作していたプログラムがインストールできない、または実行できない」を選択(チェックボックスにチェック)して次へボタンをクリックします。

f:id:treedown:20150717165157p:plain


「このプログラムが以前動作していたバージョン」で「Windows7」にチェックを入れて次へをクリックします。

f:id:treedown:20150717165214p:plain


「プログラムの互換性をテストします。」の画面で「プログラムのテスト」ボタンをクリックしてインストーラを起動します。

f:id:treedown:20150717165243p:plain


※これ以降は起動したインストーラ画面で操作を実行します。
 互換性のトラブルシューティングツール画面は閉じて構いません。
----------------------------------------------

実際のインストールが開始するはずです。

f:id:treedown:20150717165300p:plain


インストール作業で注意するのは、「セットアップタイプ」でカスタムを選択するところです。

f:id:treedown:20150717165312p:plain

オプションの選択画面で「省電力メーター・プログラムを自動で実行する」のチェックを外します。

f:id:treedown:20150717165337p:plain
※これを外す理由は、動作対象外のOSで自動実行を有効にしていると、エラーが出て起動しないか、起動してもPCを使用中にExplorer.exeが応答なしになり、ハング(いわゆる砂時計状態)⇒explorerプロセスの再起動、が頻発するので自動実行しないようにしています。「Explorer.exeが応答なしになり、ハング⇒プロセス再起動」の症状は特にエラーメッセージなどは出ずに、プチフリーズ現象に似た動きをしますので問題の切り分けが難しいです。
もう少し状況を詳しく説明しますと、「ハング⇒プロセス再起動」は”特定の環境でタスクバーにバッテリメータを表示させている”状態で発生します。この現象はWindows7でも見かけましたし、Windows8や8.1でも発生します。逆にいうと該当しない環境では8や8.1であっても発生しないのです。この違いは私にはさっぱり分かりません。(誰かご存知ですか?)

こういったところでインストールを完了させます。

f:id:treedown:20150717165426p:plain

 

インストール完了後、service.msc(コントロールパネル⇒管理ツール⇒サービス)を起動して、「PowerManager Service」のプロパティを開きましょう。

f:id:treedown:20150717165451p:plain
注目は実行ファイルのパス欄に表示されている、、
「"C:\Program Files (x86)\ThinkPad\Utilities\PWMDBSVC.EXE"」
です。このサービスがWindows7互換モードで動作していないと対象外OSでは使えません。
そこでエクスプローラで上記パス("C:\Program Files (x86)\ThinkPad\Utilities")を開いて、"PWMDBSVC.EXE"を右クリックします。
PWMDBSVC.EXEのプロパティ画面から「互換性」タブをクリックして、「すべてのユーザの設定を変更」をクリックします。(UACの許可が必要です。)

f:id:treedown:20150717165623p:plain
この画面で「互換モードでこのプログラムを実行する。」にチェックを入れます。
またドロップダウンリストから「Windows 7」を選択します。
(画像では管理者としてこのプログラムを実行するにもチェックを入れていますが、これは必須ではありません。)

PWMDBSVC.EXEのプロパティ画面の「互換性」タブ画面に戻ります。
f:id:treedown:20150717165726p:plain
戻ると、グレーアウトした状態で「互換モードでこのプログラムを実行する。」にチェックが入っています。
この状態でOKボタンをクリックします。(適用で反映させてもOKです。)

次の準備はコマンドプロンプトからmsconfigを起動します。

f:id:treedown:20150717165826p:plain
スタートアップタブをクリックして、省電力マネージャが自動起動しないことを確認します。
私は、ご覧のように「スタートアップ項目が無効」となっていますのでレジストリで編集しました。

regedit.exeを起動
「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run」を開きます。
「rundll32 "C:\Program Files (x86)\ThinkPad\Utilities\PWMTR64V.DLL",PwrMgrBkGndMonitor」とあるキーを削除します。
f:id:treedown:20150717165859p:plain

私の環境では他にWoW64で自動起動するものがないのでこの画面のように空っぽになってしまいました。

ここでOSを再起動しましょう。
再起動後に省電力マネージャが利用可能な状態になっているはずです。

コントロールパネルから電源オプションを起動します。(コントロール パネル\すべてのコントロール パネル項目\電源オプション)
画面の左ペインに「省電力マネージャ」が表示されています。
見慣れた省電力マネージャ画面が起動してくるはずです。

f:id:treedown:20150717170100p:plain

バッテリのメンテナンスで存分に設定を実施しましょう。
お好きな値を入力してください。
(例:40%で充電開始⇒50%で停止、60%で充電開始⇒80%で停止、など)
ここまでやる方は100%満充電でPCを使っているとバッテリの劣化がすすみやすいことを嫌って設定するわけですから、当然充電停止の閾値%は100%でない値を入力したいですね。

他の機能も使える場合と使えない場合がありますが、当方の環境では概ね動作しています。

-----------------------------------------------------
アンインストールしたくなった場合。
-----------------------------------------------------
アンインストールしたくなったらコントロールパネルのプログラムと機能(プログラムの追加と削除)を使いますよね?
でもアンインストールが失敗メッセージ「このシステムでは動作しません。」でアンインストールが出来なくなることがあります。
もともと互換性オプションでWindows7モードで動作しているので、アンインストールプログラムもWindows7モードでなければ動作しないことが原因です。

アンインストールに必要な情報を収集しましょう。
レジストリエディタ(regedit.exe)を起動して、メニューから検索を実行します。
検索するキーワードは「省電力マネージャ」で検索します。
すると、Uninstallキー内でSID(UUID?)のレジストリキーが引っ掛かって来るはずです。この中の「UninstallString」の値を確認します。

f:id:treedown:20150717170324p:plain

画面では「C:\Program Files (x86)\InstallShield Installation Information\{DAC01CEE-5BAE-42D5-81FC-B687E84E8405}\Setup.exe -AddRemove」となっています。
エクスプローラで「C:\Program Files (x86)\InstallShield Installation Information\{DAC01CEE-5BAE-42D5-81FC-B687E84E8405}\」に移動して、格納されているSetup.exeを右クリックします。
インストール時と同じように、setup.exeのプロパティから「互換性」タブをクリックして、「互換モードでこのプログラムを実行する。」にチェックを入れます。
またドロップダウンリストから「Windows 7」を選択します。

この状態で、コマンドプロンプトから「C:\Program Files (x86)\InstallShield Installation Information\{DAC01CEE-5BAE-42D5-81FC-B687E84E8405}\Setup.exe -AddRemove」を実行します。
(コマンドプロンプトで「cd C:\Program Files (x86)\InstallShield Installation Information\{DAC01CEE-5BAE-42D5-81FC-B687E84E8405}\」してから「Setup.exe -AddRemove」でもOKです。試していませんが、この状態でならプログラムと機能からアンインストールが可能かもしれません。)

エラー対策:
こんなエラーが出る環境があるかもしれません。

f:id:treedown:20150717170424p:plain

---------------------------
RunDLL
---------------------------
C:\Program Files (x86)\ThinkPad\Utilities\PWMTR64V.dll を開始中にエラーが発生しました。

指定されたモジュールが見つかりません。
---------------------------
これは自動実行が動作しているせいです。
レジストリエディタ(regedit.exe)で「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run」を開きます。
レジストリキーから「rundll32 "C:\Program Files (x86)\ThinkPad\Utilities\PWMTR64V.DLL",PwrMgrBkGndMonitor」と表記されているキーを消してしまいましょう。
いきなり消すのが怖い場合には「rundll32 "C:\Program Files (x86)\ThinkPad\Utilities\PWMTR64V.DLL"」と編集(※「,PwrMgrBkGndMonitor」以下を削除する。)でもエラーが抑えられるかもしれません。

気に入ったツール、愛用のツールが使えるってささやかに幸せですよね。
貴方のバッテリーライフがより良くなることを祈っております。

 

関連記事:(Windows10でお困りの方向け)

blog.treedown.net