试想你出差在外或者在办公室,想要拿到存放于家里的数据该咋办?NAS?当然可以,但如果你没有NAS,其实可以充分利用已有的PC,这就需要给PC配置远程开机(或者叫远程唤醒),使得在外地也能把家里的电脑打开并双向拷贝数据。但远程唤醒属于小众领域,折腾的人不多,需要掌握的知识又比较杂,所以很多人都没有配置成功。我参看了很多教程,又在自己的笔记本上实践,终于在外面通过互联网唤醒了家里的笔记本(而且是通过wifi无线唤醒),把其中的知识点和经验记录于此与各位分享。

用户主动干预的电脑开机有3个实现途径

  • 按机箱开关(实际上是短接主板的POWER SW跳线)
  • 电源插座通电唤醒
  • 网卡唤醒(有线或无线)

各种远程开机方案都是围绕这3个途径做文章。

本文所有软件下载:https://share.weiyun.com/uetm9NIS


方案一:电源插座通电唤醒。

满足条件:智能插座硬件,待唤醒电脑的BIOS支持“通电后开机”

购买”小米智能插座“、“向日葵远程开机插座”之类的可以通过网络远程控制开关的插座,插上电脑,然后在电脑的BIOS里设置为”电源通电就自动开机“,再进入手机的APP远程给插座通电,电脑就开机了。相比其他方案,本方案最简单易用,只需要进BIOS打开一个选项(所有的笔记本/台式机都有这个选项),不用拆机,无需网络基础,也不用进路由器配置。

BIOS的设置方法是,打开电脑,马上不停的按热键进入BIOS设置页面,不同的电脑热键可能不同,可以试试Del、F2、F10或F12。对于Win10就更方便了,有2种重启进入BIOS的方法:

① 左下角开始 → 电源,按 SHIFT+ 重启 → 疑难解答 → 高级选项 → UEFI 固件设置→ 重启。

② 左下角开始 → 设置 → 更新和安全 → 恢复 → 立即重新启动→ 疑难解答 → 高级选项 → UEFI 固件设置→ 重启。

接下来设置电源通电就自动开机。不同的BIOS的设置路径不同,我的台式机的路径是:高级 → 芯片组配置 → 交流/电源断电恢复,置为“开机”:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程

方案二:短接主板 POWER SW 跳线唤醒。

满足条件:通电短接跳线硬件,待唤醒电脑只能是台式机。

购买下图”通电自启”类的小东东,打开机箱插入主板上的 POWER SW 跳线,然后把原来接在上面的机箱跳线插入该设备自带的插头即可,只要外部电源有“断开- 接通”动作,该设备就会自动短接跳线开机。如果你的设备没有BIOS的通电开机选项可用这种方法。但既然所有PC的BIOS都有这个选项,买这个设备纯属多此一举哈(其实它能给支持短接开机的设备用,比如软路由、大厅展示机啥的)。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_02

方案三:还是短接主板 POWER SW 跳线唤醒。

满足条件:PCI-E位开机卡,待唤醒电脑只能是台式机。

购买 PCIE 位“开机卡”,再把机箱 POWER SW 跳线以及主板电源跳线都接在开机卡上。这要求关机状态下PICE插槽有电,需要进入BIOS设置(见方案四)。因为只是从PCIE卡取电所以不会占用显卡带宽。接下来用手机APP把开机卡接入wifi,之后就可以用手机控制电脑开机了。如果要控制关机,需要进入电脑的控制面板 - 电源选项 - 选择电源按钮的功能 - 按电源按钮时:关机

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_03

方案四:有线网卡唤醒。

满足条件:开机盒子/开机棒,待唤醒电脑的 BIOS 支持网卡唤醒。

购买向日葵开机盒子或开机棒,首先配置盒子连接至WIFI,再从盒子有线连接至电脑网口(所以这类产品都要求电脑有网口。注意很多笔记本已经没有网口了,USB转网口线没有试过),然后在操作系统下配置网卡驱动,最后在BIOS里设置网卡唤醒,就可以在手机APP里远程开机了。不同机器的BIOS设置路径不同,我的台式机路径是进入高级 → ACPI设置 →从板载 LAN 唤醒,置为“开启”:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_04

各种 BIOS 的叫法不同。有的叫 Wake On LAN,有的叫 Power On by PCI-E/PCI(在关机时保持PCIE/PCI总线供电,也就保障了网卡供电),有的叫 PCIE 设备开机。

如果你有闲置的路由器且可以配置“无线中继”,把路由器与电脑有线相连就相当于开机盒子了。

配置网卡驱动程序的方法见下一节的“准备有线网卡唤醒”。

方案五:

以上说了那么多的“购买”,那么是否有免费的开机方案呢?有的,但你需要有公网地址,还需要你有一颗喜欢折腾的心。

满足条件:有公网地址,待唤醒电脑的 BIOS 支持有线/无线网卡唤醒,路由器支持ARP绑定。

实验路由器是TPLINK某型号,其它牌子/型号的路由器配置原理相同,配置路径需要你去找一下。笔记本是HP。

实验目标:把家里的笔记本配置为有线或无线唤醒,在外地也能通过因特网远程开机并互拷数据。

首先判断自己的 IP 是公网还是私网。登录路由器的管理页面,找到给 WAN 口分配的 IP 地址,再去 ip138.com 比对,如果两者一致就是公网地址,不一致就是私网地址(没错,不看IP地址本身是否属于公网私网,只看是否相同)。查看IP地址的位置是点下侧的”路由设置“,再点左侧的”上网设置“:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_05

如果是私网IP,如上文所言购买硬件开机设备,如果不是很懂可以找售后人员帮你安装。如果获得的是公网IP就可以做免费的远程唤醒了,以下是保姆级教程,路由器是TPLINK,操作系统是WIN10。

进入路由器的”应用管理 - 虚拟服务器“(有的路由器叫做”端口映射“),点”添加“,“外部端口”和“内部端口”填一样的数字,比如9564,再填入待唤醒内网PC的IP地址,点”保存”。原则上来说端口号范围是0~65535,但建议填写5000 以上的端口号,数字随便填:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_06

 关键是这里的IP地址。若是有线唤醒,就填入有线网卡的 IP,若是无线唤醒,就填入无线网卡的IP。上图例填写的是 192.168.1.106,是待唤醒内网PC无线网卡的地址。获取方法是按热键 Win+R(Win键是左下角Ctrl和Alt之间的那个印着窗户图案的按键)输入cmd回车,再输入 ipconfig/all 回车,无线网卡的名字是“无线局域网适配器 WLAN”,下方的“IPv4地址”后方即是:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_07

若要配置有线唤醒,就去找“以太网适配器 以太网”或者“本地连接”。

除了把有线/无线网卡IP地址填入路由器的“虚拟服务器”,还要把它们的“物理地址”也记录下来,后文要用上,上图例的无线网卡物理地址是 0A-00-27-1D-56-E2”。  

在得到了路由器的公网地址,待唤醒电脑的内网地址,以及做好虚拟服务器(端口转发)之后,开始配置网卡唤醒,”有线网卡唤醒“和”无线网卡唤醒“分别介绍。前者所有的电脑都能实现,后者用于笔记本唤醒。

准备有线网卡唤醒:

首选,路由器的“虚拟服务器”的IP地址要指向有线网卡。假设通过ipconfig查询到的有线网卡IP是192.168.1.109,这样配置:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_08

 再配置网卡驱动打开唤醒功能:桌面 → 此电脑 → 管理 → 设备管理器 → 网络适配器,本例可见有2个网卡,双击有线网卡:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_09

在“高级”标签,把“唤醒模式匹配”和“唤醒魔包”的值都置为“启用”。如果你的界面与此不同,就找带有”唤醒“、”魔包“、“样式比对唤醒”等类似字样的选项并启用:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_10

在“电源管理“标签勾选以下选项,特别是要勾选”只允许幻数据包唤醒计算机“以避免意外开机:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_11

网卡驱动配置完毕,接着进入BIOS打开网卡唤醒。HP笔记本开机按 F10进入BIOS → 先进 → 内置设备选项,“通过LAN唤醒”置为“引导至硬盘驱动器”、勾选“电池模式时的LAN唤醒”(这会导致关机后耗电增加,如果长时间不再使用远程唤醒,记得关闭该选项)。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_12

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_13

至此有线网卡唤醒软硬件环境都配置完毕!关闭笔记本,插上网线准备唤醒!经实验,在关机、休眠、睡眠、快速启动状态下都能唤醒,具体步骤见“开始唤醒”一节。

准备无线网卡唤醒:

我们早已生活在一个无线通信的时代。在很多情况下,唤醒的发起者(手机)和被唤醒者(笔记本)都不带有线网口,所以无线唤醒很有实用价值。本实验通过WIFI唤醒笔记本,但并非所有笔记本的无线网卡都支持唤醒,建议打400电话找厂家售后确认。

首选按照上一节的方法在路由器的“虚拟服务器”里填写笔记本无线网卡的IP地址。再进入笔记本的设备管理器,双击无线网卡,按照上一节的步骤找到类似的唤醒选项并启用,截图略,然后进入BIOS → 先进 → 内置设备选项,”WLAN唤醒“置为“启用”:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_14

经试验,”睡眠“或”休眠“都能被唤醒,但关机状态无法唤醒。点击”睡眠“使得笔记本进入睡眠模式(S3状态),如不出意外即可被唤醒了,不插电源也行。如果无法唤醒,进入控制面板 → 电源选项 → 点击”更改当前不可用的设置“,勾选下方的”休眠“:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_15

关机按钮出会出现”休眠“选项,点击休眠,之后可以被无线远程唤醒,但要插电源(S4状态)。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_16

至此,被唤醒端的有线/无线唤醒的条件已经准备完毕,接下来是唤醒端使用软件发起远程唤醒。

开始唤醒:

虽然本文的最终目的是在因特网上唤醒家里的电脑,但我们先在家庭内网做一下实验看看能否成功。以无线唤醒为例,用另一台电脑运行唤醒软件 WakeOnLanGui,MAC地址填写本文开头ipconfig/all显示的目标笔记本无线网卡物理地址 0A-00-27-1D-56-E2,其余填写笔记本的IP地址192.168.1.106,掩码255.255.255.255,Send Options默认,端口写9564,点击Wake UP,如果成功地无线唤醒笔记本,我们就可以欢呼了!

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_17

注:若是唤醒有线网卡,把上图的MAC地址和IP地址改为有线网卡的对应参数即可。

小知识:严格来说任何2层协议都可以承载唤醒魔包,但大多数网卡认UDP协议且忽略端口号。

以上实验需要两台电脑。如果你只有一台电脑,可以运行安卓手机app:Wake On Lan安卓版,参数按照下列填写,再保存为一个条目,以后直接点击就唤醒机器了。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_18

故障排除

如果没有被唤醒,按照以下步骤排除故障。思路是首先判断唤醒数据包(魔包)是否发过来了,再确保网卡驱动设置和BIOS设置都无问题。

设唤醒发起者为A(可以是电脑或者手机),被唤醒电脑为B。

步骤一:在 B 运行 WakeOnLanMonitor,点击Start,同意防火墙的弹出警告,然后在 A 运行唤醒软件,如果 B 的文本框里出现数据就表明唤醒魔包发过来了,发送端(A)和网络都无问题。

步骤二:既然唤醒数据发过来了却无法唤醒电脑,那就要考察数据本身是否正确。注意数据格式是前面有6个FF(魔术包标头),之后是网卡MAC地址的重复,该MAC地址一定要和 B 当前连接网卡(有线或无线)的MAC地址相同。也就是 A 在唤醒软件里填写的MAC地址,是 B 电脑有线网卡MAC地址(有线唤醒)或无线网卡的MAC地址(无线唤醒),仔细检查字符串。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_19

如果唤醒魔包发过来了,且MAC地址也没问题,参看本教程,确保网卡驱动使能了唤醒参数,且BIOS设置环节无问题。

步骤三:如果上图空白就表明数据没过来,检查 A 唤醒软件的IP地址和端口号是否填写正确,WIFI路由器是否打开了“AP隔离”,是否打开了“访客网络”(不能A连接访客无线网络,B连接家庭无线网络),A ping B是否通畅,B的防火墙是否阻挡了UDP端口(运行wf.msc暂时关闭防火墙)。

如果内网成功唤醒,外网唤醒就很容易了,重复上文的截图:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_20

其含义是:发送到路由器外网IP(假设是100.100.100.100)、UDP 端口为9564的唤醒魔包,会转发到内网IP 192.168.1.106,UDP端口9564,后者是待唤醒笔记本的有线或无线网卡地址。于是 WakeOnLanGui 填写外网IP,肯定能唤醒电脑:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_21

至此外网唤醒也成功了,万里长征已经走完了9999里,还差最后一里!

优化唤醒步骤:

我们得到的两个IP地址:路由器的外网IP和笔记本的内网IP其实都不是固定的,前者由你的网络运营商动态分配,后者由你的路由器动态分配。这就会带来麻烦,因为你的下一次唤醒可能要指定一个新的外网IP(前提是你要知道是什么IP),内网的虚拟服务器的IP也要更换,这会让人不胜其烦。为了把变量改为常量,我们做如下优化。

对于外网IP,去花生壳(www.oray.com)注册免费域名,进入路由器→应用管理→DDNS,填入你的花生壳用户名和密码,免费域名就会出现在这里并且和外网IP绑定,以后远程开机只需要填入域名就可以了,不用再理会外网IP的变化。

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_22

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_23

对于内网IP,我们需要仔细分析一下唤醒流程。唤醒魔包从外网到达路由器之后随即被转发至内网并唤醒电脑,其步骤是:

第一步:唤醒魔包发往路由器的外网网口。

第二步:路由器将唤醒魔包转发到内网电脑的网卡。

第三步:内网电脑网卡收到唤醒魔包后开机。

在第二步,路由器需要知道内网IP对应网卡的MAC地址,这样才能把从外网接收的唤醒魔包转发给内网网卡,这就是ARP表的作用——它保存着IP与MAC的对应关系。由于DHCP协议存在”租期“,且设备随机上线下线,IP与MAC的对应关系会不断的变化。比如上次给电脑分配了地址192.168.1.106,这次分配的地址改为192.168.1.206,虽然IP变了,但对应的MAC地址总是0A:00:27:1D:56:E2,于是根据这个固定MAC就能找到对应的主机——不论它的IP怎样变化。

但ARP表有“老化时间”,取值依具体的路由器而不同,假设为10分钟。在电脑关机10分钟之内,路由器还保存有电脑的ARP条目,所以可以被唤醒,当关机时间超过10分钟,路由器认为该设备已经离线,就会删除ARP表的对应条目,路由器就找不到电脑的网卡的MAC地址了,也就无从唤醒; 而且就算PC重新开机,获得的IP也不一定就是路由器“虚拟服务器”页面填写的IP,还是无法唤醒。所以必须要做“ARP静态绑定”,使其永远不会老化消失,IP与MAC的对应关系也永远固定。

我的TPLINK路由器的ARP表配置路径是:应用管理→IP与MAC绑定:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_24

ARP表列出了连接路由器的所有设备(比如电脑、手机、平板),在其中找到要唤醒的电脑,点右侧的+号即做了ARP绑定。当然也可以在下方手动输入IP和MAC绑定:

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_25

如果你的路由器没有ARP绑定功能,那就只有换设备了,或放弃网络唤醒,使用方案一的硬件插座。

电脑开机以后,就可以用“向日葵”、“TODESK”之类的远程协助软件登录到家里电脑,直接复制粘贴就可以拷贝文件了,若要关机,直接远程操纵电脑关机即可。

远程协助软件一定要从官网下载以确保安全,并且随时更新到最新版。

配置了远程唤醒以后,如果你发现并未发起唤醒,但电脑莫名其妙的自动开机,可以用命令行查询,看看有权发起唤醒的设备有哪些,Win+R,输入 powershell 回车,再输入以下命令,本例查询到了有线网卡和无线网卡均可唤醒本机。如果多出了其它设备,比如无线鼠标啥的,就拔掉适配器:

powercfg -devicequery wake_armed

 5个远程开机的方案(无线唤醒电脑保姆教程)_免费远程开机教程_26

查看上次唤醒系统的设备

powercfg -lastwake

在确认了哪种设备可以唤醒系统后,可以进入“控制面板”的“设备管理器”对可唤醒设备进行配置,可取消相应设备的唤醒功能,参见“准备有线网卡唤醒”一节。

相关文档:

https://docs.microsoft.com/en-US/troubleshoot/windows-client/deployment/wake-on-lan-feature

扩展阅读:手机投屏到电脑、或者在没有电视盒的情况下投屏到电视的方法

扩展阅读:WIN10不显示多台同型号打印机的解决方法