Windows 8から加わった「自動メンテナンス」は、指定した時間にPCが待機状態の場合、ディスクのフラグメント(断片化)の改善など一連の保守処理を実行する機能だ。概要や設定は第76回でも説明したが、夜半にPCのスリープ状態が解除されて困る場面もある。今回は自動メンテナンスによるスリープ解除を制御する方法を紹介したい。

「Windows 8.1ミニTips 第17回」より、2014年4月9日にリリースされたWindows 8.1 Updateを適用した環境を対象としています。

スリープ解除の許可を無効にする

Windows 8.1における自動メンテナンスの実行時刻は、既定で毎日の朝(深夜)3時。PCの電源を切らずにスリープで運用していれば、自動的にメンテナンスが実行されるため、本来であればそのまま有効にした方が便利である。だが、PCが起動する際の物音で目を覚ましてしまうなど弊害を感じるユーザーも少なくない。

自動メンテナンスが始まると、ディスクのスキャンやデフラグなど各種保守処理を実行する

スリープ解除に関しては2つのチェックポイントがある。1つめが自動メンテナンスの設定。こちらに用意された「スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する」をオフにすることで、スリープ解除は実行されない。

通知領域の「アクションセンター」アイコン→「アクションセンターを開く」と順にクリック/タップする

「メンテナンス」をクリック/タップで展開し、「自動メンテナンス」にある「メンテナンス設定の変更」をクリック/タップする

「スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する」をオフにすれば、自動メンテナンスによるスリープ解除は無効になる

もう1つが電源プランだ。アクティブな電源プランの詳細設定には、「スリープ解除タイマーの許可」という項目が用意されているが、デスクトップPCの場合は1つ、バッテリ駆動するモバイルデバイスの場合は「バッテリ駆動」「電源に接続」、それぞれの状態に合わせて「無効」を選択すればよい。

「Win」+「R」キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「control /name Microsoft.PowerOptions」と入力して「OK」ボタンをクリック/タップする

使用中の電源プランに並ぶ「プラン設定の変更」をクリック/タップする

「詳細な電源設定の変更」をクリック/タップする

「スリープ」→「スリープ解除タイマーの許可」と順にクリック/タップで展開し、「バッテリ駆動」「電源に接続」のドロップダウンリストから「無効」を選択。最後に「OK」ボタンをクリック/タップする

前者は自動メンテナンス固有のスリープ解除設定、後者はWindows 8.1全体のスリープ解除設定のため、他の機能も影響を及ぼすことを覚えておいて欲しい。

WindowsはACPI Wake Alarmデバイスを検出しない場合、RTC(Real Time Clock)を使ってスリープ解除を制御している。先の「スリープ解除タイマーの許可」が有効な場合、PCがスリープ/休止状態に入る前、RTCでスリープ解除イベントをプログラミングし、自動メンテナンスを始めとするアクションを実現する仕組みだ。

ACPI Wake Alarmデバイスを検出した場合、「デバイスマネージャー」の「システムデバイス」に「ACPIウェイクアラーム」が並ぶ。筆者の環境では対応デバイスが存在しなかった

「%SystemRoot%\System32\drivers」フォルダーには、デバイスドライバーである「acpitime.sys」が用意されている

それでもスリープ解除される場合は、他に原因がある可能性が高い。そこで次回はスリープ解除の原因を探る手順を紹介する。

阿久津良和(Cactus)