不知道有多少人在使用電腦的時候,和 Heresy 一樣,是習慣用「休眠」來取代「關機」?Windows 的休眠,基本上是把記憶體裡的資料,全部寫到硬碟裡(以 Winodws 7/8 來說,檔案是「C:\hiberfil.sys」)後,再把電腦關掉;而當要喚醒它的時候,他則會在基本的系統準備就緒後,就去讀取這些存在硬碟裡的資料,如此一來,電腦就可以完美地恢復到休眠前的狀態了!
在 Heresy 來看,休眠有很多好處~
第一,由於系統的程式不需要全部從頭執行,所以速度會比正常開機來的快;
第二,自己處理到一半的工作視窗,也不用關掉,休眠喚醒後就可以繼續使用了!
第三,只要按鍵盤就可喚醒電腦,不用去找主機的電源鈕。
基於這些原因,Heresy 在安裝新電腦、新系統的時候,並沒有考慮近年來很熱門的 SSD,而是選擇繼續用傳統硬碟,搭配休眠來使用。
但是在 Windows 8.1 的環境下,Heresy 卻發現電腦在休眠後,似乎常常會在半夜被自動喚醒!?這點說實話,是很討厭的一件事,所以 Heresy 也認真研究了一下,要怎麼去判斷 Windows 是為什麼被喚醒的。
一般來說,電腦會被喚醒,大多是有使用者的介入,例如鍵盤、滑鼠的操作,都會喚醒電腦。而另外要注意的是,網路卡也有可能因為接收到特定的封包,而把電腦喚醒。
如果希望電腦不要因為這些硬體裝置而被喚醒的話,其實相對還滿簡單的~只要到「裝置管理員」裡面,找到對應的裝置,點兩下開啟他的內容後,找到「電源管理」的分頁,將「允許這個裝置喚醒電腦」前面的勾取消掉就可以了。
像是上圖,就是已經被取消勾選的滑鼠;這樣可以避免不小心碰到滑鼠、就喚醒電腦的狀況。不過以羅技的滑鼠來說,由於他的功能比較多,在裝置管理員裡面,甚至有鍵盤也是他的,所以實際上要關閉的並不只一個裝置,這點是要注意的。
而有的裝置可能沒有「電源管理」這個分頁,這代表這個裝置沒有相關的功能,也不用擔心電腦因為他被喚醒。另外,有的裝置的「電源管理」裡面的選項可能相對複雜(例如 Intel 的網卡),這時候就需要個別研究了~
不過,以 Heresy 現在半夜被喚醒的狀況來說,因為沒人去碰鍵盤、也沒有網路連線(數據機被關了),所以應該並不是硬體裝置造成的,感覺上應該是某些軟體自己去排程喚醒電腦而造成的。所以,接下來就是要研究,Windows 裡面有什麼東西可能會喚醒電腦了~
首先,Windows 在電源管理的功能方面,有提供一個名為「powercfg」的指令,可以在命令提示字元下執行;他的說明可以參考微軟官網。
其中,他有兩個命令,在要找出什麼東西喚醒電腦是有用的!其中一個,是
powercfg /lastwake
理論上,在命令提示字元執行這行命令後,他就會顯示出來,上次電腦被喚醒的資訊。不過實際執行後,Heresy 得到的結果是:
喚醒記錄計數 - 1
喚醒記錄 [0]
喚醒來源計數 - 0
基本上,什麼都看不出來…
所以,接下來則是期望下一個命令:
powercfg /waketimers
這個命令執行後,他會把 Windows 裡面,時間到了會把電腦從睡眠或休眠喚醒的排程工作都列出來。而 Heresy 在執行後,則是得到了下面的結果:
[SERVICE] \Device\HarddiskVolume4\Windows\System32\svchost.exe (SystemEventsBroker) 設定的計時器在 02:35:04 的 2013/12/29 到期。
原因: Windows 將執行 'NT TASK\Microsoft\Windows\TaskScheduler\Regular Maintenance' 排定要求喚醒電腦的工作。
這次就很明確地知道,電腦在 12/29 的 02:35:04,會因為「NT TASK」裡的「Regular Maintenance」被強制喚醒了!
在知道可能的原因之後,接下來就是要讓他停工了~而由於「NT TASK」是 Windows 的「工作排程器」(參考),所以接下來就是要到「控制台」的「系統與安全性」裡面,找到位於「系統管理工具」下的「排程工作」,來叫出「工作排程器」的介面了。
由於 powercfg 的結果已經把「Regular Maintenance」所在的位置完整列出來了,所以在「工作排程器」中,可以很快地、一層一層下去地找到「Regular Maintenance」。
找到了之後,接下來就可點兩下,打開「Regular Maintenance」的設定頁面;其中,在「條件」這個頁面裡面,就可以看到有「電源」的選項。
Windows 8.1 預設似乎是開啟「喚醒電腦以執行此工作」這個選項的,這應該也就是造成電腦自動被喚醒的原因。所以,如果不希望因為這個工作把電腦叫醒的話,只要把「喚醒電腦以執行此工作」取消勾選就可以了。
而如果再回去執行「powercfg /waketimers」這個指令,應該就不會顯示有找到這個計時器了~
根本沒有這個選項
讚讚
你是找不到哪個選項?
讚讚
[…] 其實 Heresy 自己沒有碰到這個問題。會開始研究,主要是有人在《檢查是什麼東西把 Windows 喚醒的》這篇文章,反映要停用該項工作時,被要求輸入帳號密碼(參考)。 […]
讚讚
感謝提供這個方法!
想請問一下,在這邊查到是工作排程中的\Microsoft\Windows\UpdateOrchestrator\Reboot
造成開機,但要停止的時候被要求輸入帳密,這台電腦並沒有其他的使用者了,請問這個帳密是什麼呢?
系統為win10
讚Liked by 1 person
這邊基本上是微軟在把 Windows 10 更新到 1709 的時候,把權限改了。
所以現在變得無法修改他的設定了。
讚讚
感謝您的解答…1709的更新怎麼各種不方便呢OTZ
讚讚
其實 1709 還是有不少實用的東西的!
https://kheresy.wordpress.com/2017/10/19/windows-10-1709-fall-creators-update/
只是微軟在「更新」和細部控制這部份給的彈性越來越少了…
讚讚
我想問一下大神
如果輸入帳密這裡不知道密碼的話是不是就無解了@@
讚讚
前面有提了,這邊的重點不是你知不知道那個帳號密碼,而是微軟不給你改了。
讚讚
感謝你的幫忙~希望不會再被鬼開機喚醒
讚讚
有幫助就好 :)
讚讚
你說的方法太好了, 升級window10後就被這個問題一直困擾, 按你的方法我找到了兩個喚醒計時器在作怪, 感謝你~ Heresy
讚讚
有幫助就好 :)
讚讚
我輸入powercfg/waketimers,cmd跳出我的權限無法執行的訊息。我以系統管理員身分執行後再打一次結果沒反應….
拜託大大幫我解惑 謝謝
讚讚
不太了解,沒反應是指什麼意思?
你有用系統管理員權限執行 cmd,然後在命令提示字元視窗執行 powercfg 嗎?
讚讚
有,在C:Windows\system32>後面輸入完按Enter後又跑出一行C:Windows\system32>,中間沒有給予任何訊息
讚讚
抱歉,這就不知道了。
因為以 Windows 10 來說,就算沒有東西,應該也會出現個「系統沒有使用中的喚醒計時器。」才對。
不確定其他版本的 Windows 會怎麼處理。
讚讚
了解 謝謝你的幫忙
讚讚
赞 问题得以解决
讚讚
有幫助就好。 :)
讚讚