新電腦的開關機問題
2014年底新組的 B85 晶片組 PC,不知是不是主機板的問題,最初是發現在 BIOS 中設定的定時開機功能異常,有時會自動開機,但有時候明明時間到了卻沒有自動開機。
後來,意外發現:如果前一晚關機時,是用 Command Mode 以 shutdown.exe /s 的指令關機的話,則第二天早上,電腦就一定會依 BIOS 所設定的時間自動開機。也就是說,這台新組的 PC 是否執行 BIOS 所設定的定時開機功能,取決於前一次關機的方式。有了這項發現,小牲就開始經常檢視每次開機、關機在 Event Viewer 中所留下的記錄。 【普通關機】→ 不執行定時開機
為了討論方便,以下就用【普通關機】來指稱一般人最常用的兩種關機方式(如上面二圖所示)。
小牲覺得奇怪的地方是:【普通關機】之後,從下一次開機的狀況可知,開機時,主機板有發出正常開機的「嗶」一聲;而且開機完成之後,也沒有前次關機前殘留的程式在執行,(再者,隨 Windows 啟動的程式如果被手動關閉了的話,下次開機時也會重新啟動)顯然是一次乾乾淨淨的開機,並不是 Suspend-to-RAM 之後喚醒的狀態。但是 Event 卻記錄為 "Sleep",而且這種關機狀態下也不執行 BIOS 所設的定時開機。是所有的 win 8 都這樣?還是我的版本比較奇葩?抑或是主機板有問題? 【shutdown.exe /s】→ 正常定時開機 關機時,如果是打開 Command 視窗,輸入指令 shutdown.exe /s 來關機的話,則 BIOS 的定時開機功能即可正常執行,而且從 Event Viewer 檢視也會發現它的關機記錄不同於前述的普通關機方式。
小牲於3月31日晚間用 shutdown.exe /s 指令關機,第二天早上 07:00 電腦即成功自動開機。Event Viewer 顯示這次開機的 boot type 是 0x0
4月1日開始,每次關機都是用【普通關機】方式。前一天晚上關機後,次日早晨電腦均未依設定時間自動開機,而且 Event Viewer 顯示後來手動(按下機殼電源鈕)開機的 boot type 是 0x1,不同於4月1日早上的那次。
【已開機時間】→ 由之前 boot type = 0x0 的開機時間算起 下圖為 4月3日11:06 截取的工作管理員視窗,「已開機時間」顯示為 2天 4小時多;但事實上,才剛開機一個多小時而已。
「已開機時間」之所以會顯示為 2天 4小時多,是因為自從 3月31日晚間用 Command Mode 的指令 shutdown.exe /s 關機之後,每次關機都只是用【普通關機】方式。系統似乎判定【普通關機】不是真正關機,而是進入 Sleeping 狀況,所以系統認定的開機時間就是 4月1日 07:00 的 boot type = 0x0 的那次「正式」開機。但事實上,4月3日當天,小牲是 09:56 手動按下機殼的電源鈕開機的。
如上圖,在 Command Mode 執行 systeminfo 指令,所得到的資訊,也顯示系統認定的開機時間是 4月1日 07:00 的那一次,即使其後開開關關了好幾次,但因為關機時用的都是【普通關機】方式,所以系統都不認帳!小牲試過,甚至【普通關機】後,把電源插頭拔掉也一樣,下次開機後查到的 System Boot Time 依然是之前 4月1日早上那次 0x0 的開機時間;直到你再用 shutdown.exe /s 指令去關機,或是(用普通關機選單的)Restart 重新開機,System Boot Time 才會更新到之後的開機時間。 |