MENU

今日必玩-每日活动精选推送

筆電如何定時開關機+睡眠喚醒之研究

2025年3月19日

筆電如何定時開關機+睡眠喚醒之研究

Wayne Fu

生活-數位生活-3C產品, 電腦- Windows-Windows 版本

0

A+

a:link{text-decoration: underline;}.post{background:#fff;color:#222}[style*='990000'],[style*=cc0000],[style*='6aa84f'],[style*='3d85c6']{border-bottom:2px dashed #ccc}[style*='990000']:before,[style*=cc0000]:before{content:" 紅字 ";font-size:70%;font-weight:700;vertical-align:top}[style*='6aa84f']:before{content:" 綠字 ";font-size:70%;font-weight:700;vertical-align:top}[style*='3d85c6']:before{content:" 藍字 ";font-size:70%;font-weight:700;vertical-align:top}

去年買了新電腦後,原本較常使用的筆電成為閒置狀態,由於台灣濕氣較重,3C 電子用品若不常通電、開機,會比較快故障。所以想到可以把每日定期執行的「爬蟲程式」,改成由筆電執行。一方面爬蟲程式執行的視窗就不會干擾電腦的日常作業,一方面筆電有事情做,每天開機也可延長使用壽命,可說是一箭雙鵰。

然而一段時間後,偶爾也會發生忘了走到筆電按下開關的狀況,導致每日該跑的爬蟲程式沒執行。依賴大腦記住事情終究不可靠,為了一勞永逸,決定研究讓筆電開關機也自動化的方法,如此將可完全不必監管這台筆電。

可惜天不從人願,這件事不如想像中簡單,研究過程頻頻遇坑,需要解決的問題相當多,詳情請見本篇的心得分享。

(圖片出處: pixabay.com)

一、定時開關機

1. 定時關機

筆電從頭到尾的自動化流程,最容易處理的是最後一個步驟「關機」,只要利用 Windows 內建的「工作排程器」,指定時間執行 Windows 內建工具 shutdown.exe 即可。操作流程很簡單不再贅述,請直接參考微軟論壇頁面「設定Windows 10定時自動關機」。

2. 定時開機

最困難的一件事是如何讓筆電在關機的狀態下,能夠自動開機。這功能必須筆電主機板 BIOS 支援才行,通常商用或高價筆電才會提供這個功能。

我的 Acer 筆電屬於平價機型,BIOS 選項陽春到不行,所以這件事只能找替代作法了。

如果你的筆電 BIOS 選項看起來很複雜的話,可以找找有沒有「Wake Timers」、「RTC Alarm」這類的字串,應該就能設定定時開機。

3. 定時網路開機

前陣子寫過一篇「從手機桌面遠端遙控開機」,其原理大致是這樣:

關閉 Windows「快速啟動」功能,讓電腦真正關機,保持主機板部份供電,用來接收網路線訊號。

電腦主機板開啟「網路喚醒」功能

在 Windows 裝置管理員將網路卡設定為「允許這個裝置喚醒電腦」

在手機安裝「Wake on LAN」這類 APP

經以上流程後,就能從手機發送訊號讓電腦開機。

但這個流程最大的問題是,我的 Acer 平價筆電並沒有網路線接口,網路訊號根本沒有管道傳送給筆電主機板,所以「定時網路開機」這條路也行不通了...

如果你的筆電有 RJ45 接頭的話,那麼完成以上的操作流程後,利用定時執行的 APP 來啟動「Wake on LAN」APP 即可,或是使用 iOS 內建的「捷徑」工具 →「自動化」,設定時間來執行「Wake on LAN」APP,都能實現「定時網路開機」。

4. 其他定時開機解法

那麼有沒有辦法「定時無線網路開機」呢?答案是不行,可參考這篇心得「透過無線網路喚醒電腦」:"無線網路只能實現 S3(睡眠)、S4(休眠)喚醒,S5(關機)受限於硬體目前是無解的"。

該篇作者也提供了一些腦洞很大的有趣解法,例如買智慧插座,不過也要主機板支援才行,有興趣可以詳讀該篇內容。

二、睡眠(S3)與休眠(S4)

1. 關機(S5)的替代方案

要讓我的 Acer 筆電從「關機」狀態自行啟動是行不通了,退而求其次我想到可以改成從「睡眠」或「休眠」喚醒。而應該選擇「睡眠」或「休眠」需要進行一番研究,另外就是電腦都不關機的話,會有什麼影響也需要了解一下。

於是我把「開關機」與「睡眠」的作法餵了 ChatGPT,得到以下結論:

每次「開關機」都會有電流衝擊,導致增加電子零件耗損、增加 HDD、SSD 讀寫,影響電子零件壽命;使用「睡眠」則影響微乎其微

「關機」不會耗電,「睡眠」會消耗 5W 以下的電力

長時間「睡眠」不關機的狀態,會有記憶體累積的問題,可能影響系統穩定性

總的來看,筆電採用「睡眠」的優點遠高於「關機」,除了會消耗一點點的電力,主要的缺點「記憶體累積」這個問題也非不能解決,只要定期(例如每週或每月)重新啟動即可,因此我可以安心採用「關機」以外的選項。

2. 睡眠與休眠比較

一般讀者可能搞不清楚「睡眠(S3)」與「休眠(S4)」有什麼差別,因此花一點篇幅簡單整理一下:

休眠在意義上幾乎等於關機,只是將記憶體寫入系統檔,讓開機時速度變快。

睡眠則是將主機板大部分元件斷電,只保留記憶體供電。

所以休眠跟關機一樣,會造成電子零件、HDD、SSD 耗損;而睡眠幾乎沒影響。

睡眠的風險在於萬一供電不穩、跳電、停電,則記憶體中的資料會消失。

經以上比較就能知道,保險起見常常作業的 PC 最好不要使用「睡眠」,以免記憶體中的資料有意外。而本篇我的閒置筆電不是作業用工具,那麼使用「睡眠」模式可說是最佳解了,還能延長筆電、SSD 壽命。

三、定時睡眠+喚醒測試

1. 測試失敗 無法喚醒

確認執行方案從「定時開關機」改為「定時睡眠+喚醒」後,開始餵 ChatGPT 及查找資料,大致得到這些資料:

參考:Schedule Windows to Sleep and Wake Automatically

睡眠指令使用 Rundll32.exe Powrprof.dll,SetSuspendState Sleep

參考:How to Sleep Windows 10/11 With a Keyboard Shortcut

先執行指令 powercfg -h off, 關閉「休眠」模式(這個指令只須執行一次就好)

然後執行睡眠指令 rundll32.exe powrprof.dll,SetSuspendState 0,1,0

參考:如何安排 Windows 10 從睡眠狀態喚醒

執行指令 cmd /c exit 並勾選「喚醒電腦以執行此工作」

將以上作法在 Win10 內建的工作排程器,建立兩個任務「定時睡眠」、「定時喚醒」後,可以成功進入睡眠,但卻怎麼樣也無法喚醒筆電。

由於「工作排程器」的設定選項相當多,為了測試成功我不斷查找網路資料,試著修改選項、參數等等,例如勾選「已最高權限執行」、選擇「不論使用者登入與否均執行」,甚至也修改了執行身份為 "Administrators" 等等,總歸一句話,幾乎能改的選項都測試過了,但怎麼樣都無法喚醒電腦。

2. 手動進入睡眠

後來試著不要從「工作排程器」執行睡眠任務,改成直接從 Windows「開始」→「電源」來執行「睡眠」,結果工作排程竟然可以喚醒!

看來我找到失敗的原因了,rundll32 指令實現的「睡眠」跟 Windows 系統的「睡眠」不完全一樣,所以工作排程無法喚醒,至於哪裡不一樣就無從得知了。總之如果我能模擬出 Windows系統的「睡眠」行為,就能實現「定時睡眠+喚醒」了。

3. 真正進入睡眠的作法

問了一下 chatGPT 有什麼解決方法,得到了幾種作法,其中我覺得比較簡單的作法是,下載微軟提供的 PsShutdown 這個工具:

官網:PsShutdown v2.6(此頁面有詳細的參數說明)

下載連結:PsTools

解壓縮後看到一大堆工具,其中有 psshutdown.exe、psshutdown64.exe 這兩個檔案,電腦是 x64 系統的話用 psshutdown64 這個檔案

把檔案複製到 C:\Windows\System32 就能在任意路徑執行

完整的睡眠指令參數:psshutdown64 -d -t 0

我讓工作排程執行指令 psshutdown64 後,總算進入真正的「睡眠」狀態,也能用工作排程喚醒,至此終於解決了最重要的問題。

四、實現排程「定時睡眠+喚醒」

以上是我的試錯過程紀錄,以下整理完整操作的流程:

在左下角搜尋輸入「工作排程器」,找到後執行

動作 → 建立基本工作

1. 建立睡眠任務

輸入名稱及描述

「觸發程序」選擇「每天」

設定每天要觸發的時間

「動作」選擇「啟動程式」

如上圖,「程式或指令碼」輸入 psshutdown64,「新增引數」輸入 -d -t 0

最後按「完成」即可

2. 建立喚醒任務

輸入名稱及描述

「觸發程序」選擇「每天」

設定每天要觸發的時間

「動作」選擇「啟動程式」

如上圖,「程式或指令碼」輸入 cmd,「新增引數」輸入 /c exit

這個指令+參數的意思是,執行 cmd 後關閉此視窗。如果只行指令 cmd 而沒加上此參數,那麼從睡眠中喚醒後,DOS 視窗還會留在畫面上

最後按「完成」建立此排程

回到工作排程視窗,雙擊剛剛建立的排程。如上圖,切換到「條件」分頁,務必要勾選「喚醒電腦以執行此工作」,然後按「確定」即可。

上圖可看到新增的兩個工作排程,之後時間到了就會自動執行睡眠及喚醒。

五、補充說明

為了讓「定時睡眠+喚醒」正常運作,補充幾點注意事項:

1. 確保 Windows 允許自動喚醒

首先要檢查 Windows 是否允許自動喚醒:

打開「電源選項」:按 Win + R → 輸入 powercfg.cpl → 變更計畫設定 → 變更進階電源設定

找到「睡眠」→ 允許喚醒計時器 → 必須是「啟用」的狀態

2. 測試喚醒排程

可以檢查是否建立的「喚醒」排程會執行,打開 DOS 命令視窗執行以下指令:

powercfg /waketimers

3. 讓滑鼠無法喚醒電腦

在睡眠狀態下,如果不小心碰到鍵盤或滑鼠,都會將電腦喚醒,因為睡眠模式下 USB 還是會供電。

其實不小心誤碰鍵盤的機率比較低,倒是我有時不小心撞到桌角就會喚醒電腦。仔細思考了一下,原因應該是桌子有輕微移動時,會讓滑鼠有輕微位移,導致誤判有操作行為,從而喚醒電腦。

為了避免此狀況,最好進行以下操作,讓滑鼠無法喚醒電腦:

按 Win + X → 裝置管理員 → 叫出滑鼠裝置 → 切換到「電源管理」分頁 → 取消勾選「允許這個裝置喚醒電腦」

更多 Windows 相關技巧:

0

0

如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

FB

LINE

生活-數位生活-3C產品

電腦- Windows-Windows 版本

Wayne Fu

前端開發 ‧ Blogger 探研 ‧ 網站架設

歡迎來到我的雲端資料庫,這裡除了分享網路應用心得,也是最專業的 Blogger 中文部落格。利用側邊欄「搜尋」及「文章分類」,可解決大多數的問題喔!

下方連結還有更多的 Blogger 資源及服務,如需諮詢、合作,歡迎填寫 聯絡表單 或來信:[email protected]

FB 社團

粉絲團

Blogger 工具

諮詢/架站/網頁設計

架站作品集

Copyright © 2022 今日必玩-每日活动精选推送 All Rights Reserved.