随着电脑和网络的普及,人们(严格讲是一部分人)似乎一天也离不开电脑和网络,笔记本电脑可以方便随身携带和使用,Internet网的发展更使人们随处都有条件借助网络而得到所需的资源,但是人们并不以此为满足,特别是有那么一些人,不仅想随时使用身边的电脑,还想随时使用不在身边的,家里的或是办公室里的电脑,因为某些资源可能只存在某一台特定的电脑当中,或者想远程操控那些电脑从网上下载大片和音乐(本人就是因为想下载音乐),于是引出了电脑的远程网络唤醒和远程操控的需求。
用本文的标题在Google或百度里搜索一下可以得到很多IT和网络高手们所提供的各种方法和经验,本人只是参照他们的方法实践和试验了一下,与各位网友分享一下实践和试验的体会。需要说明一下的是本文涉及到的被远程唤醒和操控的电脑是Dell台式机(型号为Inspiron545S)和一台华擎B75M-ITX主板的HTPC,操作系统是Win7家庭普通版及Win7旗舰版,所用的路由器是TP-LINK的TL-WR846N及TL-MR3420。
一.电脑的几种基本状态
为了实现电脑的远程网络唤醒和远程操控,需要了解电脑除了正常工作以外还有的几种状态:
1.关机
用鼠标点了关机或是用手按了电脑电源的按键(当电源按钮的功能设为关机时)都会使电脑进入关机状态。关机状态电脑的耗电是极少的,除了网卡等特殊硬件外(需进行设置)基本上不消耗电能(我的两台电脑实测关机功耗分别为1.43W和1.51W)。
2.睡眠
在此状态下电脑会给内存等必要的硬件供电,以保持你当前运行的程序和系统的程序,当然还要给网卡供电(你需要靠网卡来唤醒睡眠的电脑),睡眠状态可以在几秒钟内使电脑恢复正常工作。睡眠状态电脑是要耗电的,只是消耗得比正常工作状态要小得多(我的两台电脑实测关机功耗分别为2.16W和2.05W)。
3.休眠
休眠是电脑将内存中相关程序和数据临时保存到硬盘上,然后断电,耗电情况与关机状态完全相同。下次唤醒后电脑会将存在硬盘上的相关程序和数据再读入内存,以恢复断电前的工作状态,休眠与睡眠的不同之处在于:
a)电脑睡眠状态内存不会断电,而休眠状态则会基本断电(除网卡、键盘、鼠标等特殊硬件外)。
b)睡眠状态是靠内存保持信息,休眠状态是靠硬盘保持信息。
c)睡眠状态的恢复较快,而休眠状态的恢复较慢。
4.混合睡眠
混合睡眠是对睡眠方式的改进,保持能由网络唤醒的功能,但又将信息存到硬盘上,比睡眠更节能,并可以确保万一断电后不会丢失信息,但唤醒时间与休眠相当。
以上这四种方式下电脑都可以通过远程来唤醒,只是唤醒时间长短和待机时耗电多少的差异。以前我一直以为只有睡眠状态是可以被唤醒的,最近经阅读本文一位高人指点才发现,我原来的想法是错误的,竟然让家里的电脑几年来一直处于睡眠的状态,而不敢设成休眠和关机的状态。这一错误源自对电脑上电源指示灯状态含义的理解,过去一直认为灯灭了就代表彻底断电了,其实不然,在现在的电脑中都有一组功率不大的5V待机电源,直要电脑插上电就会供电,就是用来向网卡等特殊硬件(例如键盘、鼠标等)在睡眠、休眠甚至是关机状态下供电,以实现唤醒的可能。
电脑不用的情况下要倒底应该选择哪一种方式呢,如果短期不用建议选择睡眠,因为睡眠状态的唤醒时间最短。
相对长期不用建议选择休眠,休眠状态的供电和耗电与关机是完全一样的,自然从安全性上来说也是一样的,但休眠的唤醒时间又要比关机状态的启动时间短得多。
当然也不建议电脑长期不关机,因为电脑经长期使用有可能会导致内存当中的无效进程过多,进而导致运行速度变慢,所以建议电脑使用一段时间后完成一次关机或重启,这样有可能释放一些内存。
本人不太建议使用混合睡眠,虽然它具有睡眠和休眠的双重优点,但设置了混合睡眠后在关机菜单中就只有睡眠而没有休眠了,这样反而少了选择的自由度。
二.被唤醒端的相关设置
1.被唤醒端电脑远程唤醒的条件
被控端电脑要想被远程唤醒需要具备以下几个条件:
a) 被控端电脑的BIOS经过了可远程唤醒的相关设置。
b)被控端电脑处于睡眠、休眠甚至关机状态下,但电脑电源一定尚未断电。
c)被控端电脑具有可被远程唤醒功能的网卡(现大多数网卡都具备这一功能)。
d)被控端电脑的网卡通过网络可接入外网(如通过路由器则路由器不得断电)。
e)被控端电脑经过了可远程唤醒的相关设置。
f)路由器经过了可远程唤醒的相关设置。
2.被控端电脑BIOS设置
传统电脑的BIOS中通常有PowerManagementSetup设置页,需要将其中的RemoteWake Up项设成“On”,这是这台电脑能被远程唤醒的先决条件,否则后面的所有设置都将不起作用。
而有些电脑的BIOS中则有高级配置与电源接口(Advanced Configuration and PowerInterface),简称ACPI。要将其中的PCI Devices PowerOn项设为Enabled,否则在关机状态下就无法通过网卡远程唤醒(即开机)了。
3.被唤醒端电脑的电源选项设置
a)在Win7下点击“开始”→“控制面板”→“电源选项”软件进入“电源选项”窗口,在“首选计划”项中选择“平衡(推荐)”。
b)点击“平衡(推荐)”后面的“更改计划设置”,软件进入“编辑电源设置”窗口,你可以进行“关闭显示器”的时间设置和“使计算机进入睡眠状态”的时间设置。建议“关闭显示器”的时间设置可以短些,因为你用于远程控制反正用不到显示器,而“使计算机进入睡眠状态”的时间设置可以长些,因为你可能要远程操控下载,不希望电脑频繁进入睡眠状态。
c)点击下方的“更改高级电源设置”,软件进入“高级设置”窗口,有很多的设置项,其中重要的有“唤醒时需要密码”项可以设为“否”(取决于你的远程操控软件是否能在输入密码时接管要唤醒的电脑),“允许混合睡眠”项可以设为“打开”,另外“电源按钮操作”项可以设为“睡眠”(将从睡眠唤醒),设置完成后点击“确定”,返回“编辑计划设置”窗口,点击“保存修改”后退出。
4.被唤醒端电脑的网卡唤醒设置
a)点击网络的“本地连接”。
b)在本地连接状态窗口中点击“属性”。
c)在本地连接属性窗口中点击“配置”。
d)在弹出窗口的电源管理页中点将“允许计算机关闭此设备以节约电源”设为不允许。
e)将“允许此设备唤醒计算机”勾为允许。
5.获取被唤醒端电脑网卡的MAC地址a)在“本地连接状态”窗口中点击“详细信息”。
b)弹出“网络连接详细信息”窗口后,在物理地址后即可得到本网卡的6位16进制MAC地址,该地址在网络中是唯一的。记录下该地址,在以后的远程唤醒中会用到。
6.被控端路由器的相关设置
a)为确保远程唤醒的可靠,在被控端的局域网中要采用静态地址分配。本例中192.168.1.100是要被远程唤醒的电脑。
b)虚拟服务器设置需要将对广域网服务端口的访问重新定位到局域网中那台要被远程唤醒的电脑(192.168.1.100)。并要注意,服务端口号要与将来的唤醒软件设置一致(本例端口号为2304)。
c)为确保远程唤醒的可靠,在被控端的局域网中要启用静态ARP绑定,致少要对被唤醒的电脑要采用静态ARP绑定。
三.控制端的相关操作
1.远程唤醒软件及设置
远程唤醒需要采用AMD公司的魔法包技术,在这个技术中向目的计算机发送16次目的计算机网卡的MAC地址,就可以由网卡远程唤醒计算机了。这类的软件网上有很多,但要注意的是有些只能在局域网中使用,不能在广域网中使用。本人下了一个(都忘了是在哪儿下的了),不大,很好用。MacAddress要填上你要被唤醒的电脑的网卡MAC地址(前面让你记下了)。InternetAddress要填上你要被唤醒的电脑所在的局域网路由器WAN口的IP地址(通过路由器设置界面可以看到),如果你使用的是动态IP,那么你最好用花生壳注册一个域名,免得万一断电后重新分配了IP你就无法唤醒了,域名也可以填在InternetAddress的位置。SubnetMask全部填上255,否则唤醒不了。SendOption选择Internet,当然你要在局域网内使用可选择LocalSubnet。RemotePort Number 要设置的和前面路由器虚拟服务器设置中的服务端口一致。好了,唤醒端的软件也设置完成了。
2.远程唤醒操作
a)按一下被唤醒端电脑的电源按钮(不要连续按,那样就关机了),电脑经几秒钟会入睡眠状态(通常电源指示灯会变成黄色)。
b)用另一台电脑运行经设置好的唤醒软件,点击“Wake Me Up”如果你的所有设置都正确的话,你的被唤醒端电脑就会被从睡眠中唤醒了。实际的过程是这样的,当你的唤醒软件工作时,会向广域网上的指定IP发一个包含有被唤醒端电脑MAC地址的“魔法包”(该IP就是你被唤醒电脑所在局域网的路由器WAN口地址),当路由器收到该“魔法包”后,虽被唤醒电脑处于睡眠状态,但由于在局域网中是采用静态MAC绑定的,路由器仍会跟据虚拟服务器的设置,强行向该MAC地址转发“魔法包”,当被唤醒电脑的网卡收到“魔法包”后就会将睡眠中的电脑唤醒,从而完成了网络远程唤醒的全过程。
3.网络远程操控软件
网络远程操控软件有多种,国产软件中有“网络人”、“向日葵”等,当然还可以用Windows自带的远程桌面。我使用了Teamviewer来完成广域网的远程操控,Teamviewer是德国人做的软件,在360中就有下载,对非商业使用是免费的,使用下来效果还是比较好的,只是对网速的要求比较高,网速太低了运行不够流畅。但本人主要用于操控远程电脑进行音乐下载,不需要连续操控,倒也没有太大的问题。
关于Teamviewer的功能和使用介绍,网上很多,本人不再赘述,本文的重点是想说明实现网络远程唤醒的方法。