このエントリーをはてなブックマークに追加

ハイブリッド スリープ機能を検証

対象プロダクト:Windows 8.1
カテゴリー:検証

Windows Vista 以降はスリープ時にハイバネーション(休止状態)も同時に実施するハイブリッド スリープ機能が搭載され、8.1 では初期設定で有効になっています。
ハイバネーションは、メモリ内のデータをハードディスクに保存する仕組みとなり、万が一スリープ中に停電が発生してもメモリ内のデータが失われません。
通常のスリープはメモリ内のデータはそのままメモリで維持するため、突然電源が落ちればメモリ内のデータが失われます。
ちなみに、このハイブリッド スリープの機能は Mac ではセーフ スリープと呼ばれます。

今回は、Windows 8.1 Pro のハイブリッド スリープを検証してみたいと思います。

設定の確認

念のため、ハイブリッド スリープの設定を確認します。
Windows キー + R で [ファイル名を指定して実行] を開き、gpedit.msc を起動。
[コンピューターの構成] > [管理用テンプレート] > [システム] > [電源の管理] > [スリープの設定] を展開し、「ハイブリッド スリープをオフにする (電源接続時)」が「いいえ」になっている事を確認します。
もし「はい」が選択されていれば、「いいえ」に変更します。

検証開始

メモ帳を開き、適当な文字を入力します。
保存せずにスタート ボタンを右クリックし、[シャットダウンまたはサインアウト] > [スリープ] をクリックします。
スリープに入ったら、電源コードを抜きます。(ノートパソコンの場合はバッテリーも外します)
再度電源コードを繋ぎ、起動します。
起動後、普通にサインイン画面が表示され、サインインすると先ほどの未保存のメモ帳が表示される・・・と思ったが表示されず、普通の起動状態でした。
つまり未保存のメモ帳のデータは失われました。

何故か?
そもそもこの機能はハイバネーション機能(休止状態)が使用できる事が前提となりますが、私のマシンでは休止状態が無効だったのです。
[シャットダウンまたはサインアウト] に [休止状態] が表示されていないことに気づくべきでした。

なんと Windows 8.1 では初期設定では「休止状態」は無効になっているのです。

[コントロール パネル] > [電源オプション] を開き、左ペインの [電源ボタンの動作を選択する] をクリックし、[現在利用可能ではない設定を変更します] をクリック、[シャットダウン設定] 内の [休止状態] のチェックを有効にして、[変更の保存] をクリックします。
これで、[シャットダウンまたはサインアウト] に [休止状態] が表示されるようになります。

試しに休止状態が正常に動作するかを確認し、休止状態から復帰後、未保存のメモ帳が表示されることを確認。
改めてハイブリッド スリープを試してみます。
しかし、前回と同様に未保存のメモ帳は表示されず、通常のシャットダウン時と同じ状態になります。

少なくとも休止状態は使えているので、ハイバネーション機構に問題はないはず。

そこで [電源オプション] の [電源プランの選択またはカスタマイズ] を見ると、プランとして [高パフォーマンス] を選択していましたが、[詳細な電源設定の変更] > [スリープ] 欄に本来あるべきはずの [ハイブリッド スリープを許可する] の設定項目がありません。

結論

管理者権限でコマンド プロンプトを起動し、 powercfg /a を実行してみました。
C:\WINDOWS\system32>powercfg /a
以下のスリープ状態がこのシステムで利用可能です:
    スタンバイ (S1 S3)
    休止状態
    高速スタートアップ

以下のスリープ状態はこのシステムでは利用できません:
    スタンバイ (S2)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。

    スタンバイ (接続状態)
        ハイパーバイザーはこのスタンバイ状態をサポートしていません。
        システム ファームウェアはこのスタンバイ状態をサポートしていません。

    ハイブリッド スリープ
        ハイパーバイザーはこのスタンバイ状態をサポートしていません。

ここまでやってきてハイブリッド スリープがサポートされていないマシンであることが判明しました。
やはり、Windows は Windows、Mac とは異なり使える機能はハードウェアやドライバに左右されます。
やってみなければ、その機能が本当に使えるか、使えないかが分からないのが Windows ですね。

ちなみに、他の自作マシンでハイブリッド スリープを試してみたところ、スリープ状態で電源コードを抜き、再起動後に未保存のメモ帳が表示され、すんなり動作しました。
※ただし [高パフォーマンス] のプランでは [ハイブリッド スリープを許可する] が「オフ」になっていたので「オン」に変更しました。
ハイブリッド スリープの機能は、予期しない停電時などのメモリデータの保護のためのもので、省電力とは関係はないはずですが、[高パフォーマンス] プランの初期設定が「オフ」なのは不思議な感じです。

-追記-
後で分かりましたが、ハイブリッド スリープは休止状態とは同時使用できないために既定では無効になっているようです。
休止状態を有効にすれば、ハイブリッド スリープは自動で無効になるようです。
なお、これと powercfg /a コマンドの結果は関係ありません。

おまけ

ちなみにハイブリッド スリープが使用できるマシンの powercfg /a コマンドの結果は以下の通りです。
C:\Windows\System32>powercfg /a
以下のスリープ状態がこのシステムで利用可能です:
    スタンバイ (S3)
    休止状態
    ハイブリッド スリープ
    高速スタートアップ

以下のスリープ状態はこのシステムでは利用できません:
    スタンバイ (S1)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。

    スタンバイ (S2)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。

    スタンバイ (接続状態)
        システム ファームウェアはこのスタンバイ状態をサポートしていません。

公開日時: 2014年06月17日  12:09:47

このエントリーをはてなブックマークに追加
System プロセス(ntoskrnl.exe)とは | インストール済みの Windows のプロダクトキーを確認する方法

Windows技術情報の一覧に戻る

「検証」に関する他の技術情報
技術情報のカテゴリ

このページのトップに戻る