2012年10月4日 星期四

使用 WoL,將「遠端電腦」開機

因為許多原因,不論是節約能源、減緩全球暖化、…等偉大目標,或是為延長硬體、為自己的荷包著想。電腦長時間不使用時,最好將它關掉;但是,為了在「必要時」能從遠處存取電腦中的資料,
在「方便」與「浪費」兩端猶豫未決。
現在的電腦多有網路開機 (Wake on LAN) 的功能,只要善用這項功能,就可以隨時從遠端開機了。當然,關機時就不用考慮待會是否還要「遠端連線」使用了!

一、設定電腦的 BIOS

請參考電腦說明書,設定 BIOS 以開啟電腦的網路開機的功能。BIOS 中的設定選單,因主機板之不同而異,但大致多在「電源管理」或「Power Management」選單下,設定項目名稱可能為以下之一:
Wake On LAN  Wake Up on PCI(e) Devices
Resume by MAC LAN  Wake-up by PCI card
Power on From S5 By PME#  Power on By PCI Devices
將這個項目設定為『Enable』。

注意:若非內建網路的主機板,還要看「網路卡」是否有支援 WoL。

二、記錄網路卡位址

因 WoL 的運作是在電腦系統尚未開啟之前,支援 WoL 的主機板在電源關閉的情況下,仍可供應少量電流,使網路晶片得以接收網路訊號。這時,網路晶片只能辨識 MAC 位址(即一般所稱之網路卡位址),因此,要將 MAC 位址跟著 WoL 網路訊號一起送出才可。查詢 MAC 位址的命令如下:
[SiB@Celeron-D ~]$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:05:1B:CF:19:EC
     inet addr:192.168.10.12 Bcast:192.168.10.255 Mask:255.255.255.0
     . . . . . .
lo Link encap:Local Loopback
     . . . . . .
上例為 Fedora 14 的查詢結果,Fedora 17 的查詢結果,則為
[SiB@Core-i7 ~]$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 16436
     . . . . . .
p5p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
     inet 192.168.10.17 netmask 255.255.255.0 broadcast 192.168.10.255
     ether 54:05:1B:18:7d:52 txqueuelen 1000 (Ethernet)
     . . . . . .
上兩例中的 00:05:1B:CF:19:EC 及 54:05:1B:18:7d:52 即為網路卡位址。待會下 WoL 的命令時要用它,先把它記下來。

三、安裝 WoL 套件

如果你的電腦未安裝 WoL 套件,要先安裝它才可順利進行下一步驟。
[root@Celeron-D ~]# yum install wol
如果,你的電腦不是安裝 Fedora 或你不是系統管理者,可能就要尋求別的解決方案了。

四、執行 WoL 開機

若欲開啟的電腦與下命令的電腦在同一子網路中(通常它們的 IP 位址的前三個數相同,如:192.168.10.17 和 192.168.10.12),
[SiB@Celeron-D ~]$ wol 54:05:1B:18:7d:52
要喚醒的電腦不在同一子網路中時,就要加上 IP 位址,WoL 訊息才會送到目的地,
[SiB@Celeron-D ~]$ wol 54:05:1B:18:7d:52 -h 192.168.10.17

五、遠端關機

「遠端關機」和本文似乎不太有關。但是,電腦不用時就該關機,才會節省能源。在 Linux 中,可在 Terminal 視窗中鍵入關機指令,或詳見“Linux 之遠端關機指令
[root@Celeron-D ~]# shutdown -h now
在 Windows 中,可在 cmd 的視窗中鍵入關機指令
C:\> shutdown -s

已測試版本:

  • Fedora: 14, 17

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)