本文的内容经历了大量实践,尤其是对影响最后成功与否的关键因素均做了精准测试,测试平台如下:
- 台式机,其上装有 Windows 10 专业版,版本 1809。2019 年 3 月在淘宝上花 600 元买的。
故请放心食用。若需要详细且通俗易懂的有图教程,请移步 网络唤醒全攻略(Wake On LAN) - 知乎
概述
Wake-on-LAN 简称 WOL 或 WoL ,中文多译为“网络唤醒”、“远程唤醒”技术。WOL是一种技术,同时也是该技术的规范标准,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网)的另一端对其发令,使其从休眠状态唤醒、恢复成运作状态,或从关机状态转成引导状态。此外,与WOL相关的技术也包括远程下令关机、远程下令重启等相关的遥控机制。
——引用自 网络唤醒 - 维基百科,自由的百科全书
前提
被唤醒的电脑满足下列条件即可:
- 主板支持。现在的主板基本都支持,所以基本不用担心。很旧的主板好像是 2000 年左右的,需要插网卡(PCI2.1标准),这时才需要 3 针 WOL 线连接主板
- 关机时候为主板通电。被唤醒电脑的网卡需要有微弱的供电,以接收来自局域网内的唤醒数据包(魔术包)
- 正常关机。非正常关机可能会导致唤醒失败,例如意外断电、休眠等
- 连接到局域网。
原理
概述
计算机处在关机(或休眠)状态时,机内的网卡及主板部分仍保有微弱的供电,此微弱供电能让网卡保有最低的运作能力,使网卡能聆听来自计算机外部的网络广播信息,并对信息内容进行侦测与解读,一旦发现网络广播的内容中有特定的信息内容,此种特定内容称为“魔法数据包”(Magic Packet),就会对该数据包的内容进行反应(即执行开机操作)。
魔法数据包是以广播方式发送的,广播的方式与范畴可以是整个局域网(LAN),也可以是特定的子网(Subnet),同时魔法数据包内会有某部(或一群)计算机的网络地址数据,网卡一旦发现解读出来的的地址是自身所处的计算机时,网卡就会通知机内的主板、电源供应器,开始进行引导(或唤醒)的程序。
魔法数据包包结构
重点概括如下:
- 数据链路层(以太网):源地址为发送魔法数据包的设备的 MAC 地址(图中为
7c:11:cb:83:86:79
),目的地址为广播地址(ff:ff:ff:ff:ff:ff
) - 网络层(IP):源地址为发送魔法数据包的设备的 IP 地址(图中为
192.168.2.100
),目的地址为子网广播地址(192.168.2.255
) - 传输层(UDP):源端口为任意端口(图中为
53166
),目的端口为 9 号或 7 号端口 - 应用层(WOL):由同步流(
ffffffffffff
)和被唤醒电脑的 MAC 地址(重复 16 次)组成
操作步骤
被唤醒电脑设置
固件(BIOS/UEFI)设置
市面上几乎所有固件(BIOS/UEFI)都支持 WoL ,但几乎所有的 WoL 默认都是关闭的,并且打开方式有所区别。新式电脑(2000年之后)常见设置位置如下:
- Power Management->PME Event Wakeup->Enabled
老式电脑(使用 PCI 网卡而非板载网卡)常见设置位置如下:
- Power Management->Wake-Up by PCI card->Enabled
- Advanced->Power by PCIE/PCI->Enabled
- Boot->Wake-On LAN->Enabled
注意查找如下关键字即可:Wake Up(唤醒)、NIC(网卡)、PCI(一种较老的总线标准,现在主要使用PCIe)、PME(电源管理事件)
Windows 设置
网卡驱动程序升级和设置
升级
采用如下方法之一即可:
- 通过搜索引擎搜索关键字
你的网卡型号 驱动程序 下载
找到下载链接,例如我的网卡对应的搜索关键字为Realtek PCIe GBE Family Controller 驱动程序 下载
- 在你的网卡驱动程序的官方网站(或者在你的电脑品牌官网)处查找并下载最新的驱动程序。
设置
- 打开设备管理器。Win10 使用快捷键
Win+X,M
即可 - 找到有线的网络适配器。我的是
Realtek PCIe GBE Family Controller
(无线的可能也行。我的是Intel(R) Dual Band Wireless-AC 3165
) - 右键找到的适配器,点击属性(或者直接使用快捷键
Alt+Enter
) - 点击标签高级,在属性中找到
Wake On Magic Packet
(魔术封包唤醒),在值处选择Enabled以启用。以同样的方式启用关机 网络唤醒
关闭安全启动
在Windows 8及更高版本,以及Windows Server 2012及更高版本中,不支持从混合关闭状态(S4)唤醒。因此需要关闭安全启动功能,以防止其进入混合关闭状态
- 打开电源选项。Win10 使用快捷键
Win+X,O
即可 - 在右侧点击其它电源设置
- 在左侧点击选择电源按钮的功能
- 点击更改当前不可用的设置
- 取消勾选启用快速启动(推荐)
用来唤醒的设备
任何可以发送 UDP 包的设备都能用来唤醒上述的电脑。包括但不限于手机、笔记本电脑、台式机。
可以自己写一个简单的网络应用程序来实现,也可以使用现有的软件,如 depicus,它支持 Web、Windows、MacOS、Iphone、Android 等多个平台
其它可能因素
防火墙
可能需要手动打开被唤醒电脑的 UDP 9 或 7 号端口。详细方法步骤请搜索windows10 手动 防火墙
网络适配器属性中的电源管理
有的被唤醒电脑可能需要在这里进行设置。已经验证的是允许计算机关闭此设备以节约电源(及其子内容)是不必勾选的。但有的电脑可能还有其它设置,请自行摸索
链接
下面总结了本文中使用的所有链接: