统信UOS配置Wake on LAN需依次完成BIOS启用、ethtool开启wol g、udev/systemd固化、NetworkManager配置及GRUB添加mem_sleep_default=deep,任一环节缺失均导致失败。

在统信UOS中设置网络唤醒(Wake on LAN),需确保主板、网卡硬件支持,并依次完成BIOS启用、网卡WoL激活、系统级持久化配置、NetworkManager适配及内核参数加固;任一环节缺失都将导致远程唤醒失败。
进入BIOS启用Wake on LAN选项
这一步必须最先做,否则后续所有软件配置均无效。关机后立即按Delete或F2键(部分品牌为F10/ESC)反复敲击,直到进入UEFI/BIOS界面。
在Advanced → Power Management或Chipset菜单下,查找Wake on LAN、PME Event Wake Up、Resume by PCI-E Device等名称相近的选项。
将该选项设为【Enabled】,按F10保存并退出。若找不到对应项,说明主板或网卡不支持WoL,无需继续后续步骤。
用ethtool检查并临时启用网卡WoL
打开终端,执行ip a确认有线网卡设备名(常见为enp3s0、ens33或eth0)。
运行sudo ethtool enp3s0(请替换为你的实际网卡名),查看输出中是否含Supports Wake-on: pumbg——有g即代表支持魔术包唤醒。
若Wake-on:显示为d,说明当前禁用,需执行sudo ethtool -s enp3s0 wol g开启。这一步仅临时生效,重启后会丢失。
再次运行sudo ethtool enp3s0,确认Wake-on:已变为g。若仍为d,可能是驱动未加载或网卡固件限制,需换用其他网卡测试。
固化WoL设置避免重启失效
方法一:通过udev规则自动触发(推荐)
1. 创建规则文件:sudo nano /etc/udev/rules.d/99-wol.rules
2. 写入内容(将enp3s0替换为你的网卡名):SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", RUN+="/sbin/ethtool -s enp3s0 wol g"
MAC地址可省略,但填入后能精准匹配设备,避免误触发。
3. 重载规则:sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=net
方法二:使用systemd服务(适合多网卡环境)
1. 创建服务文件:sudo nano /etc/systemd/system/wol@.service
2. 写入标准模板,启用时执行:sudo systemctl enable wol@enp3s0.service && sudo systemctl start wol@enp3s0.service
配置NetworkManager与内核参数
第一步:让NetworkManager识别并保留WoL能力
编辑sudo nano /etc/NetworkManager/conf.d/wol.conf,写入:
[connection]<br> ethernet.wake-on-lan=true
保存后执行
sudo systemctl restart NetworkManager。
第二步:强制系统进入深度休眠状态以维持网卡供电
编辑sudo nano /etc/default/grub,找到GRUB_CMDLINE_LINUX_DEFAULT行,在引号末尾添加:mem_sleep_default=deep
注意不要删除原有参数,用空格分隔。保存后执行sudo update-grub并重启。
第三步:验证最终效果
关机后,从另一台局域网设备执行:wakeonlan aa:bb:cc:dd:ee:ff(替换为目标机MAC)。若机器启动,说明全部配置成功。

















