nWOL: Wake on LANを使った遠隔PC起動管理ツール
(ダウンロードはこちら)
Version 1.6.74 をリリースしました! (2021/1/10)
Wake on LANを使ってPCを遠隔起動するツールです。シンプルだけど使って気持ちいいツールを目指して作ってみました。
・ LANに接続されている機器のMACアドレス、IPアドレス、ホスト名を高速で検索
・ LAN内PCのIPアドレスの変化を自動検知し更新。固定IPアドレス化不要。
・ DDNSに対応。(Ver 1.6新機能)
・ ホストの起動停止時のサウンド機能。(Ver 1.6新機能)
・ マジックパケット送出からの経過時間を表示遠隔PCの起動状態をリアルタイムで表示
・ 遠隔PCの起動状態をタスクトレイ通知領域にリアルタイムに表示
・ マジックパケット送信などをコマンドから行えるコンソールコマンドを提供
Wake on LAN の仕組み、設定方法については、以前から理解が難しく、また、情報が整理されておらず、しばしば、混乱を引き起こしていました。例えば、WOLの設定には、「高速スタートアップ」を無効化しなければならないのか、しなくてもいいのか、十分理解できる情報がなかったのが現状だと思います。
そのような中、少し前になりますが、@ITさんの以下の記事を読ませていただきました。
この記事、非常によく整理されており、Wake on LANの現状が分かりやすく解説されていると思いました。私もよくわかっていませんでしたが、実は、Wake on LANを機能させる方法には「ハードウェアWOL」「ソフトウェアWOL」という2つの方式が存在するということで、それを理解することで高速スタートアップの件もようやく理解できたように思います。そのような内容について、せっかくですので、私自身の頭の整理のためもあり、まとめてみたいと思いまして、本記事を執筆させていただきます。
この記事では、Windows10の電源管理についてまとめており、過去のWindowsバージョンについては考慮していませんのでご注意ください。
WOLの方式の話に入る前に、まず、Windowsの電源管理について必要なポイントについておさらいしたいと思います。
Microsoftのページから、Windows システムの電源状態は、以下のようになります。(説明欄は私の理解で補足した内容になります。)
Power State | ACPI state | 説明 |
---|---|---|
Working | S0 | 起動状態 |
Sleep (Modern Standby) | S0 low-power idle | Modern Standbyに対応したPCでは、Windows10のスリープはこの電源状態になる。Sleep状態だがバックグラウンドで必要な最低限のNW通信処理などが行われる。 |
Sleep | S1, S2, S3 |
システムは停止状態になるが、メモリ上のデータはそのままメモリ上に維持され、リフレッシュされ続ける。(消費電力は S1>S2>S3) ※ |
Hibernate | S4 |
メモリ上の実行イメージをディスクに保存し、システムは停止状態になる。消費電力はSleepより低減。 ※ |
Soft Off | S5 | Windowsが完全に終了した状態。 ※ |
Mechanical Off | G3 | 物理的な電力断。 |
※ PCをWakeupさせるため、キーボードやLANデバイスなどのデバイスには最小限の通電が行われます。
参考ページ:System Power States (Microsoftのページ)
Windows10において、システム停止方法によってどのような電源状態に遷移するかをまとめたものが以下の表になります。
OS | 停止方法 | 遷移する 電源状態 |
状態説明 |
---|---|---|---|
Windows 10 | スリープ (Modern Standby PC) |
S0 low-power idle | Modern Standbyに対応したPCでは、Windows10でのスリープはこの電源状態になる。Sleep状態だがバックグラウンドで必要な最低限のNW通信処理などが行われる。 |
スリープ (非Modern Standby PC) |
S3 | Modern
Standbyに対応していない従来型のPCのスリープはこの電源状態になる。 システムは停止状態になるが、メモリ上のデータはそのままメモリ上に維持され、リフレッシュされ続ける。 LANデバイスなどには通電させるため、WOLは可能。 |
|
休止状態 | S4(Hibernate) | Modern
Standbyに対応していない従来型のPCのスリープはこの電源状態になる。 メモリ上の実行イメージをディスク(hibernation file)に保存し、起動時に高速に復帰できるようにする。 (※) LANデバイスなどには通電させるため、WOLは可能。 |
|
シャットダウン (高速スタートアップ有効時) |
S4(Hybrid shutdown) |
Windowsのメモリ上の実行イメージをディスクに保存し、起動時に高速に復帰できるようにする。 Hybrid shutdown(高速スタートアップ)は、Hibernateの一種ではあるが、Windows10のデフォルトのシャットダウンであるため、電力を極力抑えるため、WOLに対応していない。 |
|
シャットダウン (高速スタートアップ無効時) |
S5 | Windowsが完全に終了した状態。(Windowsの管理外。) フルシャットダウン、または、クラシックシャットダウンと呼ばれる。 |
(※)以前の記事の記載に誤りがありましたので修正しています。
注意いただきたいのは、「S4(Hibernate)」と「S4(Hybrid shutdown)」は同じS4ですが、振る舞いが異なる点です。
S4(Hibernate)状態はWOLは可能なのですが、S4(Hybrid shutdown)はWindows10の標準のシャットダウンとなっており、ノートPCなどで電力消費を極力抑えるため、WOLには対応していない仕様になっています。
また、Modern Standbyに対応したPCは2020年頃から増え始めてはいるようですが、まだ非対応のPCも多いと思います。PCが ModernStandbyに対応しているかどうかを確認するには、以下のコマンドを実行してみてください。
powercfg /a
「スタンバイ(S0 低電力アイドル)」がサポートされていれば、Modern Standby に対応しています。
WOLを実現する方式には、「ハードウェア WOL」 と 「Windows WOL」 の2種類が存在します。それぞれの詳細と、比較について以下にまとめていきたいと思います。なお、この2つの方式のネーミングは、前出の@IT記事を参考に、私がここで勝手に決めた呼び方ですので、ご容赦ください。
2つの方式の概要を以下の表に示します。ポイントは、Windowsがサポートしているのは、Windows WOLだけだという点です。Microsoftのページを見ても情報が掲載されているのは、Windows WOLに関するものだけです。一方、ハードウェアWOLについては、NICやマザーボードなど最近はほとんどの製品がこの機能を備えるようになってきていますが、製品ベンダがそれぞれ開発してきた経緯もあり、用語の標準化や情報の集約の点でまだ十分でないような気がします。
項目 | ハードウェア WOL |
Windows WOL |
---|---|---|
WOL実装 | Windows とは関係なく、ハードウェアの仕組みとして提供されているWOLの仕組み。Microsoft はサポートしていない。 | Windowsが実装しているWOLの仕組み。 |
WOL可能な電源状態 | S5 | S3 S4(Hibernate) |
2つのWOL方式が具体的にどのような方式なのかについては、@IT記事をご参照ください。
【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門 (@IT記事)
Wake on LANの設定については、「Wake on LANによるWindows10遠隔起動の設定方法」に情報をまとめていますが、主に、「BIOS/UEFIの設定」と「Windwosネットワークアダプタの設定」の2つの設定について説明しています。上記の2つのWOL方式について、必要な設定は以下の表のとおりとなります。
PC設定項目 | ハードウェア WOL |
Windows WOL |
---|---|---|
BIOS/UEFIの設定 | 必要 | 不要 |
Windwosネットワークアダプタの設定 | 必要 | 必要 |
「BIOS/UEFIの設定」と「Windwosネットワークアダプタの設定」の両方を設定しておけば、2つのWOL方式どちらも対応可能になります。
各設定項目の具体的な内容については、それぞれ以下のページをご覧ください。
2つのWOL方式について、WOLが可能な条件を以下にまとめます。
停止方法 | 状態 | ハードウェア WOL |
Windows WOL |
---|---|---|---|
スリープ (Modern Standby PC) |
S0 low-power idle | × | × |
スリープ (非Modern Standby PC) |
S3 | × | WOL可能 |
休止状態 | S4(Hibernate) | × | WOL可能 |
シャットダウン (高速スタートアップ有効時) |
S4(Hybrid shutdown) | × | × |
シャットダウン (高速スタートアップ無効時) |
S5 | WOL可能 | × |
上記の表から読み取れるように、ハードウェアWOLを実施するためには「高速スタートアップ」は無効にする必要があります。一方、Windows WOL に関しては、「高速スタートアップ」はどちらに設定されていても影響はありません。
「高速スタートアップ」を無効にしなくてもWOLが可能だったというケースがあるようですが、おそらく、
ということなのだと思われます。
高速スタートアップを設定する方法については、以下の記事をご覧ください。
2つのWOL方式について説明をしてきましたが、マジックパケットの処理に関しては、どちらの方式も同じです。ですので、「起動する側のPC」にインストールする WOLツールの設定は2つの方式を考慮する必要はありません。
Windowsの電源管理、2つのWOL方式についていろいろと書きましたが、結局どのような設定をしておけばよいのでしょうか。
個人的に考えてみた結果、どのようなケースでもWOLができるようにしておくため、どちらのWOL方式も有効にしておくのが望ましいと思われます。Windows WOLだけを有効にした場合、何かの際にフルシャットダウン(クラシックシャットダウン)を行ってしまった場合は、WOL起動できなくなってしまいます。
つまり、どちらのWOL方式も有効にしておくため、以下の手順全てを実施しておくということになります。
その場合、「高速スタートアップ」も無効にしておく必要があります。
これによりどちらのWOL方式も有効になります。
ただし、以下のような方については、Windows WOL方式だけ使えればよいと思われ、「Windwosネットワークアダプタの設定」をしておくだけで良いかもしれません。
いかがでしょうか。Wake on LAN の仕組みの理解の参考になりましたでしょうか。ちょっと長くなってしまったので、@IT記事より、逆に分かりにくくなってしまったかもしれません。ご参考になれば幸いです。
日本語 | 英語 | 備考 |
---|---|---|
休止状態 | Hybernate | |
高速スタートアップ | Fast Startup | |
ハイブリッドシャットダウン | Hybrid Shutdown | 高速スタートアップと同義で使われる |
【関連記事・関連コンテンツ】