如何在 Windows 中启用和配置 LAN 唤醒 (WoL)

Jacki

局域网唤醒 (WoL)是一种计算机网络功能,用于远程唤醒(打开)处于睡眠(低功耗)模式的设备。设备的网络接口卡 (NIC) 可以在收到包含其 MAC 地址的特殊广播数据包(魔术数据包)后唤醒计算机。在本文中,我们将了解如何在 Windows 设备上启用和使用 LAN 唤醒。

首先,您需要在计算机的 BIOS/UEFI 固件设置中启用 LAN 唤醒。根据您的计算机型号和固件版本,此选项的确切名称可能会有所不同。它可以被称为:

  • WOL(局域网唤醒)
  • 通过 PCI-E 开机
  • 通过 PCI-E 设备恢复
  • PME 简历
  • S4/S5 局域网唤醒
  • 脑电图

在品牌计算机上,您可以使用 PowerShell 查看和更改 BIOS/UEFI 设置。例如,在 Lenovo 笔记本电脑上,可以使用以下命令在 BIOS 中启用 WOL 选项:

$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace rootwmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace rootwmi)
$SaveLenovoBIOS.SaveBiosSettings()

然后在 Windows 网络适配器的设置中启用 LAN 唤醒 (WOL)。

  1. 打开设备管理器控制台(devmgmt.msc);
  2. 打开物理网卡的属性网络适​​配器部分;
  3. 前往先进的选项卡并确保魔法包唤醒选项已启用(选项名称可能因网络适配器而异)。在 Intel 网卡上,此选项可能称为 PME(电源管理事件);您可以使用 PowerShell 检查网络适配器设置中是否启用了 WakeOnLan 选项:
    Get-NetAdapter -Physical | Get-NetAdapterAdvancedProperty | where {($_.DisplayName -like '*WOL*') -or ($_.DisplayName -like '*Wake*')}

    要为 NIC 启用 WOL,请运行(取决于驱动程序和 NIC 供应商):
    Get-NetAdapter -Physical | Set-NetAdapterPowerManagement -WakeOnMagicPacket Enabled -WakeOnPattern Enabled
  4. 然后前往电源管理选项卡并允许网络适配器将计算机从睡眠模式唤醒。启用允许此设备唤醒计算机只允许魔术包唤醒计算机选项。您可以使用 cmd 启用此选项:
    powercfg /deviceenablewake "Realtek PCIe GbE Family Controller"

无线 Wi-Fi 适配器还支持远程唤醒。这个标准被称为无线 LAN 唤醒(WoWLAN)。

使用以下命令检查哪些设备可以唤醒您的计算机:

powercfg /devicequery wake_armed

在这种情况下,Realtek PCIe 网卡可以将计算机从睡眠状态唤醒。

要使 LAN 唤醒发挥作用,您无需在 Windows Defender 防火墙中打开任何端口。 UDP 广播 WOL Magic Packet 由网卡直接接收和处理,不会到达 Windows 网络堆栈。

您现在可以发送 WoL 数据包,从同一 LAN 上的另一台设备远程打开您的计算机。 Magic Packet 包含您要打开的计算机的网卡硬件地址(MAC 地址)。您可以从以下位置找到您的网卡的 MAC 地址:ipconfig /all命令输出,或使用 PowerShell:

Get-NetAdapter -Physical

让我们使用简单的 PowerShell 脚本生成并发送 WOL 魔术广播数据包。在以下脚本中,指定要唤醒的设备的 MAC 地址:

$Mac = "08:99:02:b6:25:2a"
$MacByteArray = $Mac -split "[:-]" | ForEach-Object { [Byte] "0x$_"}
[Byte[]] $MagicPacket = (,0xFF * 6) + ($MacByteArray  * 16)
$UdpClient = New-Object System.Net.Sockets.UdpClient
$UdpClient.Connect(([System.Net.IPAddress]::Broadcast),7)
$UdpClient.Send($MagicPacket,$MagicPacket.Length)
$UdpClient.Close()

如果配置正确,远程计算机应该被唤醒。

要在分段网络或划分为VLAN的网络中使用WOL,必须启用WoL广播报文的转发(UDP port 9)在网络 L3 交换机或路由器级别。

要远程唤醒计算机,您可以使用免费的 Windows 工具网络唤醒来自 NirSoft。此工具允许您扫描 LAN 并查找所有可用设备,或者您可以使用 WakeOnLan 手动添加要远程打开的设备。

WakeMeOnLan 支持命令行模式。运行以下命令通过 IP 地址唤醒远程设备。该工具会根据IP地址自动解析为MAC地址arp桌子:

WakeMeOnLan.exe /wakeup 192.168.13.115

或输入其 MAC 地址:

WakeMeOnLan.exe /wakeup 04-7C-16-DA-CA-63

您还可以在智能手机上使用 WoL 工具。例如,Android 的 LAN 唤醒。要远程启动计算机,请通过 Wi-Fi 热点(接入点)连接到同一 LAN。

如果发送 LAN 唤醒数据包后您的计算机无法开机,您可能需要禁用Windows 快速启动在电源设置中。 Windows 10 和 11 中默认启用快速启动,它可能会阻止计算机被 WOL 唤醒(或者可能是 Windows 无法关闭的原因)。

阅读更多:我的世界 LAN 无法使用?以下是快速修复问题的方法

跑步powercfg.cpl并导航选择电源按钮的功能->更改当前不可用的设置-> 取消选中该选项开启快速启动(推荐)