首页 技术随笔

在Linux下用Wake On LAN实现远程开机
请先确认满足以下环境要求:操作机器与目标机器在同一局域网内,目标机器电源和网线已插好,目标机器网卡和主板均支持远程唤醒

华为和荣耀的笔记本不支持BIOS没Wake Up On LAN这个选项,垃圾笔记本-_-

具体操作步骤:

1. 在本机安装Wake On LAN。可从官方网站下载。

如果使用Fedora,则可以用yum命令安装:

yum install wol
#或者
dnf install wol

如果是Manjaro/Arch

sudo pacman -S wol

2. 登录目标机器,运行ethtool命令查看网卡是否支持Wake On Lan

ethtool eth0

看这两行

Supports Wake-on: pumbg

Wake-on: d

若Wake-on为d,表示禁用Wake On LAN,需要启用它。

ethtool -s eth0 wol g
# 这条命令需要root,不然就算支持也不显示Wake-on: d

如果已经是g就不用管了,说明目标机器的网卡已经支持Wake On LAN.

3. 查看目标机器网卡的MAC地址

ifconfig

比如获得的MAC地址为 00:01:0A:02:0B:03

4. 关闭目标机器,在主机运行wol命令

Manjaro可以使用wol命令唤醒

wol 00:01:0A:02:0B:03

这个命令在Arch/Manjaro上有效,不知道其他Linux发行办有没有,反正Ubuntu(apt)上的没有

Ubuntu可以使用wakeonlan命令

Ubuntu上没有wol这个安装包,不过可以安装wakeonlan

sudo apt install wakeonlan

远程唤醒

wakeonlan 00:01:0A:02:0B:03

一般来说,目标机器这时就会开启了。如果没用,请进入下一步检查主板是否支持Wake On LAN

5. 检查主板是否支持Wake On LAN

开机时进入BIOS查看CMOS中的“Power Management Setup”,通常里面会有“Wake On LAN”,将其设置为“Enable”。

若没有Wake On LAN,可以再看看有没有"ake On PCI Card"。

这里需要留意PCI的选项可能有两个,确保每次只将其中之一设置为Enable,不然可能会造成机器循环重启。

华为笔记本按Fn+F2进入BIOS,目测不支持...

远程开机还是很给力的。我给隔壁主机设置了开机自动打开dhcp和ssh服务,wol唤醒它之后用ssh登录,就可以操作或远程关机,实现了对其控制的目的。




文章评论

目录