需在bios启用wake-on-lan并配置麒麟系统:一、bios中开启wake on lan等选项,禁用erp/eup节能;二、用ethtool启用网卡wol g并配置udev或systemd持久化;三、禁用systemd休眠目标;四、用etherwake发送魔术包;五、逐层验证物理供电、驱动状态、内核参数及交换机eee设置。

如果您希望在麒麟操作系统中实现关机状态下通过网络信号启动目标计算机,则需配置Wake-on-LAN(WOL)功能。该功能依赖BIOS固件、网卡硬件、内核驱动与系统服务的协同生效。以下是具体操作步骤:
一、BIOS中启用Wake-on-LAN支持
主板必须向网卡提供待机电压,并允许其在S5(soft-off)状态下监听魔术包。不同厂商BIOS界面存在差异,但核心选项命名具有共性。
1、关机后按下电源键,在开机自检过程中持续按Delete、F2或F12键,进入BIOS设置界面。
2、切换至Advanced(高级)或Power Management(电源管理)选项卡。
3、查找并启用以下任一选项:Wake on LAN、Resume by LAN、PME Event Wake Up、Power On By Onboard LAN。
4、若存在ErP Ready、EuP 2013或Deep Sleep Control等节能选项,须将其设为Disabled,否则将切断+3.3Vaux待机电压。
5、按F10保存并退出,系统重启后BIOS层配置即生效。
二、麒麟系统内启用网卡WOL能力
操作系统需授权网卡在低功耗状态维持监听能力,且避免NetworkManager等服务覆盖配置。此步骤需结合ethtool工具与持久化机制。
1、确认当前有线网卡名称:执行ip -br a | grep UP,识别出如eth0、enp3s0等处于UP状态的以太网接口。
2、检查WOL支持状态:执行sudo ethtool <em>接口名</em>,查看输出中Supports Wake-on:是否含g,且Wake-on:当前值为g。
3、临时启用Magic Packet唤醒:执行sudo ethtool -s <em>接口名</em> wol g。
4、永久生效方案一(udev规则):创建文件/etc/udev/rules.d/99-wol.rules,写入:ACTION=="add", SUBSYSTEM=="net", KERNEL=="<em>接口名</em>", RUN+="/sbin/ethtool -s %k wol g"。
5、永久生效方案二(systemd服务):创建/etc/systemd/system/wol@.service,启用systemctl enable wol@<em>接口名</em>.service并启动。
三、禁用快速启动与休眠干扰项
若目标主机曾运行Windows双系统,其快速启动功能会导致关机后内核未完全释放网卡控制权,从而阻断WOL响应。需确保麒麟系统独占引导并关闭相关干扰。
1、在麒麟系统中检查是否启用了systemd休眠目标:执行systemctl get-default,若返回graphical.target则正常;若为multi-user.target且存在休眠残留,需清理。
2、禁用可能冲突的电源策略:执行sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target。
3、验证当前电源状态:执行cat /sys/power/state,输出中不应包含mem或disk;若存在,说明休眠机制仍活跃,需进一步屏蔽。
四、发送魔术包唤醒目标主机
唤醒指令必须从同一局域网内发出,且目标主机网卡物理连接需保持通电与有线接入。推荐使用标准化工具构造并广播Magic Packet。
1、安装etherwake工具:执行sudo apt install etherwake(银河麒麟V10基于Debian系)。
2、获取目标主机MAC地址:在目标机开机状态下执行ip link show <em>接口名</em> | grep ether,记录十六进制MAC格式(如aa:bb:cc:dd:ee:ff)。
3、指定本机发出接口并发送唤醒包:执行sudo etherwake -i <em>本机接口名</em> <em>目标MAC</em>,例如sudo etherwake -i eth0 aa:bb:cc:dd:ee:ff。
4、批量唤醒多台设备:编写Shell脚本,将多个MAC地址存入数组,循环调用etherwake命令。
五、验证与故障定位关键点
若唤醒失败,需逐层排除硬件供电、固件策略、驱动状态及网络路径四个维度问题,不可跳过任一环节。
1、物理层验证:关机后观察目标主机网卡LED是否微亮或缓慢闪烁,不亮表明无待机电压,需返回BIOS检查ErP设置。
2、驱动层验证:执行sudo ethtool <em>接口名</em>,确认Wake-on:显示g而非d(disabled)。
3、内核参数验证:执行cat /proc/cmdline,确认启动参数中包含acpi_enforce_resources=lax,否则ACPI可能封锁网卡PM资源。
4、交换机侧验证:登录局域网交换机管理界面,关闭端口节能功能(EEE / Energy Efficient Ethernet),因其会丢弃非标准帧长的魔术包。











