計算機如何知道PC沒有正確關機?

計算機如何知道PC沒有正確關機?

其實我之所以想到這個問題,是因為我家停電了。停電時,計算機會突然斷電。

計算機如何知道關機未正確完成?

答案1

Windows 也使用髒位檢測PC是否正常關機的方法:

當正常斷電時,該位元被關閉。然而,如果出現斷電或不正確(強制)關機的情況,該位元在下次電腦啟動時仍將處於開啟狀態。

這意味著 Windows 可以建議採取補救措施 - 例如啟動到安全模式。

此外,基於 Windows 的 PC 會在事件日誌中寫入一個條目,詳細說明關閉的時間和原因(如果已知)。它也會在 PC 啟動時寫入一個事件。

系統關閉

系統啟動

當電腦重新啟動時,它可以檢查事件日誌,如果在上次“啟動”事件後沒有找到“關閉事件”,它就知道電腦沒有正確關閉,並且存在可能由於未保存資料等而出現問題。

答案2

對於非基於 Windows 的 PC,檢測通常基於每個檔案系統進行。當檔案系統以讀取/寫入模式掛載時,會向檔案系統寫入一個條目,將其標記為髒。當檔案系統被卸載時,會寫入一個條目來標記它是乾淨的。啟動時,作業系統會檢查其核心檔案系統是否被標記為髒,如果是,它就知道沒有乾淨地關閉——至少是那些檔案系統。

答案3

在 Windows 中,根據 Windows Internals,第 5 版的作者的說法,它是 bootstat.dat 檔案(預設位於系統分割區的 \boot 目錄中):

Windows 使用啟動狀態檔案...來記錄它已經歷系統生命週期的各個階段(包括啟動和關閉)的事實。這允許啟動管理器、Windows 載入程式和啟動修復工具檢測異常關閉或無法乾淨關閉,並為使用者提供復原和診斷啟動選項...

 

答案4

在某些電腦上,可以在硬體 BIOS 中設定獨立於作業系統的方法。這取決於電腦供應商和 BIOS 供應商。

這些巨頭包括 American Megatrends Inc. (AMI)、Award 和 Phoenix Technologies。查看這些製造商的具體情況。

相關內容