treedown’s Report

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

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

Hyper-V ServerをノートPCに入れた時の電源設定

昨日まででHyper-V Serverの初期設定を書いていますが、もしノートPCにインストールした場合には、ノートPCを閉じたらスリープしてしまうことになります。なっちゃいました。
今日は、これをスリープしないように設定する追加設定をご報告します。

できるだけ簡単な操作で完了するようなやり方です。

powercfgコマンドを使って設定1

powercfgコマンドで設定を見ることができます。

powercfg /L

とコマンドを入力すると、現在の設定が画面に表示されます。
その一番上に
----------------------------------------------
既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (バランス) *
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高パフォーマンス)
電源設定の GUID: a1841308-3541-4fab-bc81-f71556f20b4a (省電力)
----------------------------------------------
こんな表示があります。*がついている箇所、いま「バランス」という設定になっています。これを「高パフォーマンス」にしてしまいます。
高パフォーマンスのGUIDである「8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c」を指定して、powercfgコマンドを実行します。

powercfg /S 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

とした後で「powercfg /L」を入力すると、
----------------------------------------------
既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (バランス)
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (高パフォーマンス) *
電源設定の GUID: a1841308-3541-4fab-bc81-f71556f20b4a (省電力)
----------------------------------------------
こう変化します。これで高パフォーマンス設定に電源設定が切り替わりました。

powercfgコマンド操作

次に細かな電源設定を実行していきます。

powercfg /Q

とコマンドを入力すると、現在の設定が長々と画面に表示されます。
確認箇所はノートPCを閉じた時に動作しないように「カバーを閉じたときの操作」を知りたいので画面をスクロールして該当箇所を確認します。
----------------------------------------------
サブグループの GUID: 4f971e89-eebd-4455-a8de-9e59040e7347 (電源ボタンとカバー
)
GUID エイリアス: SUB_BUTTONS
電源設定の GUID: 5ca83367-6e45-459f-a27b-476b1d01c936 (カバーを閉じたときの操作)
GUID エイリアス: LIDACTION
利用可能な設定のインデックス: 000
利用可能な設定のフレンドリ名: 何もしない
利用可能な設定のインデックス: 001
利用可能な設定のフレンドリ名: スリープ
利用可能な設定のインデックス: 002
利用可能な設定のフレンドリ名: 休止状態
利用可能な設定のインデックス: 003
利用可能な設定のフレンドリ名: シャットダウン
現在の AC 電源設定のインデックス: 0x00000001
現在の DC 電源設定のインデックス: 0x00000001
----------------------------------------------
こうなっていました。「現在の電源設定のインデックス」の数値が「0x00000001」となっているので、001に割り当てられた動作である「スリープ」が実行される、という設定になっています。これを「000」にすると「何もしない」に設定することができる、というわけです。
設定のために「サブグループの GUID: 4f971e89~」と「電源設定の GUID: 5ca83367~」を記憶(記録?)しておきます。

レジストリ設定

レジストリエディタはHyper-V Serverでも起動可能なので、コマンドから「regedit」を実行してレジストリエディタを起動します。
起動後に、対象のレジストリ値を開きます。

※めんどい場合にはコマンドの実行結果にある(カバーを閉じたときの操作を表す)GUID値5ca83367-6e45-459f-a27b-476b1d01c936を検索すればOKです。

まず、「HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\」を開きます。で、powercfgコマンドの実行結果で調べたサブグループの GUID (電源ボタンとカバー)のID「4f971e89-eebd-4455-a8de-9e59040e7347」を探して開きます。

さらにGUIDのレジストリキーを掘り下げて、配下にある「powercfgコマンドの実行結果で調べた電源設定の(カバーを閉じたときの操作)に該当するGUID: 5ca83367-6e45-459f-a27b-476b1d01c936」を探して開きます。

その配下には「DefaultPowerSchemeValues」とありますので、これを開いてから、高パフォーマンスのプロファイルを表すGUID(8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c)を開き編集対象のレジストリキーを探します。

ここまでで[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\4f971e89-eebd-4455-a8de-9e59040e7347\5ca83367-6e45-459f-a27b-476b1d01c936\DefaultPowerSchemeValues\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c]を開いています。

ここまで開くと、対象のレジストリキーに

"DcSettingIndex"=dword:00000001
"AcSettingIndex"=dword:00000001

と設定されている画面が表示されますので、これを

"DcSettingIndex"=dword:00000000
"AcSettingIndex"=dword:00000000

と設定します。要するにダブルクリックして1を0に修正すればOKです。

図:設定したあとの画面

f:id:treedown:20161124104116p:plain

ここまで設定したら、電源設定が変わります。

確認

設定内容が反映されているかどうかを「powercfg /Q」コマンドで確認すると、

----------------------------------------------
電源設定の GUID: 5ca83367-6e45-459f-a27b-476b1d01c936 (カバーを閉じたときの操作)
GUID エイリアス: LIDACTION
利用可能な設定のインデックス: 000
利用可能な設定のフレンドリ名: 何もしない
利用可能な設定のインデックス: 001
利用可能な設定のフレンドリ名: スリープ
利用可能な設定のインデックス: 002
利用可能な設定のフレンドリ名: 休止状態
利用可能な設定のインデックス: 003
利用可能な設定のフレンドリ名: シャットダウン
現在の AC 電源設定のインデックス: 0x00000000
現在の DC 電源設定のインデックス: 0x00000000

----------------------------------------------
最初に0x00000001だったのが0x00000000に変化しています。
この状態は000の何もしないに設定されているので、ノートPCの液晶を閉じてもスリープしないような設定になっています。

実際に閉じてみましょう。

Hyper-V Serverをインストールしてみたものの、ノートPCを閉じたらスリープしてしまう場合にはこの設定が効くはずです。