必须完成bios、网卡驱动、内核参数及网络服务四层配置:先在bios启用wake on lan并禁用erp ready,再用ethtool -s wol g临时开启网卡魔术包支持,接着通过udev规则或networkmanager配置固化设置,最后在grub中添加mem_sleep_default=deep并更新引导,方可实现关机状态下响应局域网魔术包唤醒。

要在统信UOS系统中实现远程开启办公室电脑,必须让关机状态下的网卡仍能接收并响应局域网广播的魔术包(Magic Packet),这需要BIOS、内核、网卡驱动、网络服务四层协同生效,缺一不可。
确认并启用BIOS中的Wake on LAN选项
这是整个WOL链路的物理前提。若主板固件未授权网卡在S5(完全关机)状态下维持待机电压,后续所有软件配置都无效。
第一步:关机后按下电源键,同时反复敲击Delete键(部分品牌为F2/F10/ESC),进入BIOS/UEFI界面。
第二步:按F7切换至Advanced Mode(高级模式),用方向键导航到Advanced → APM Configuration或Power Management → Resume by PCI-E Device等类似路径。
第三步:找到以下任一选项并设为Enabled:【Wake on LAN】、【PME Event Wake Up】、【Resume by LAN】。若存在ErP Ready或EuP 2013选项,必须设为Disabled——否则会切断网卡待机电压,导致WOL彻底失效。
第四步:按F10保存退出,系统重启后BIOS层配置即刻生效。
检查并临时启用网卡的WoL魔术包支持
BIOS开启只是第一步,还需验证网卡驱动是否真正识别并启用了g(Magic Packet)模式。统信UOS基于Linux内核,依赖ethtool工具操作。
打开终端,执行ip a,识别有线网卡设备名(如enp3s0、ens33,不是lo或wlan0)。
运行sudo ethtool enp3s0(将enp3s0替换为你的实际网卡名),查看输出中是否含Supports Wake-on: pumbg且当前Wake-on: d(disabled)。
若显示Wake-on: d,执行sudo ethtool -s enp3s0 wol g启用魔术包唤醒。这一步操作起来很简单,但仅在当前会话有效。
再次运行sudo ethtool enp3s0,确认Wake-on字段已变为g——表示网卡已准备就绪,可监听广播包。
固化WoL设置,避免重启后失效
ethtool命令是临时的,系统重启、网卡重载或NetworkManager重连都会清空设置。必须通过持久化机制确保每次开机自动启用wol g。
方法一:使用udev规则(推荐,精准匹配)
执行sudo nano /etc/udev/rules.d/99-wol.rules,写入以下内容(请将enp3s0替换成你的网卡名,MAC地址可选填以增强设备唯一性):
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", RUN+="/sbin/ethtool -s enp3s0 wol g"
保存后执行sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=net立即加载规则。
方法二:使用NetworkManager配置(更简洁,适合桌面环境)
执行sudo nano /etc/NetworkManager/conf.d/wol.conf,写入:
[connection]
ethernet.wake-on-lan=true
保存后重启服务:sudo systemctl restart NetworkManager。该方式由NM在每次激活连接时自动调用ethtool,无需手动干预网卡名。
调整内核电源参数,确保深度休眠兼容
统信UOS默认启用s2idle(浅睡眠),但WOL在关机(S5)和深度休眠(S4)下才最可靠。需强制内核使用deep sleep模式,否则网卡可能被彻底断电。
编辑GRUB配置:sudo nano /etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT行,在引号内末尾添加:【mem_sleep_default=deep】(注意前后加空格)。
例如原行为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash",修改后为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash mem_sleep_default=deep"。
保存后执行sudo update-grub更新引导配置,然后重启系统使参数生效。
验证WOL是否真正可用
完成全部配置后,必须实测验证。这一步不能跳过——很多用户卡在“以为配好了”,实际因MAC地址错误、防火墙拦截或路由器丢弃广播包而失败。
在另一台局域网内的设备(可以是手机App、Windows电脑或另一台UOS)上安装wakeonlan工具,获取目标UOS电脑的MAC地址(执行ip link show enp3s0 | grep ether)。
执行发送命令:wakeonlan xx:xx:xx:xx:xx:xx(替换为真实MAC)。目标UOS电脑应在5秒内开始自检并启动。
若无反应,先确认两台设备在同一广播域(非跨VLAN)、网线直连或经普通交换机(非管理型交换机禁用广播转发),再回头逐层排查BIOS、ethtool输出、udev日志(journalctl -u systemd-udevd)。











