事件標識碼 41 的進階疑難解答:「系統已重新啟動,而不需要先完全關閉」
注意
家庭使用者:本文主要提供給支援專員與 IT 專業人員使用。 如果您要尋找有關藍色畫面錯誤訊息的詳細資訊,請瀏覽 針對藍色畫面錯誤進行疑難解答。
關閉 Windows 的慣用方式是選取 [開始],然後選取一個選項來關閉或關閉電腦。 當您使用此標準方法時,操作系統會關閉所有檔案,並通知執行中的服務和應用程式,讓它們可以將任何未儲存的數據寫入磁碟,並排清任何作用中的快取。
如果您的電腦意外關閉,Windows 會在下次電腦啟動時記錄事件標識碼 41。 事件文字類似下列資訊:
Event ID: 41
Description: The system has rebooted without cleanly shutting down first.
此事件表示某些非預期的活動導致 Windows 無法正確關閉。 這類關機可能是電源中斷或停止錯誤所造成。 如果可行,Windows 會在關閉時記錄任何錯誤碼。 在下 一個 Windows 啟動的核心階段 ,Windows 會檢查這些程式代碼,並在事件識別碼 41 的事件數據中包含任何現有的程式代碼。
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
SleepInProgress false
PowerButtonTimestamp 0Converts to 0x9f (0x3, 0xfffffa80029c5060, 0xfffff8000403d518, 0xfffffa800208c010)
當您針對非預期的關機或重新啟動進行疑難解答時,如何使用事件標識碼 41
事件標識碼 41 本身可能未包含足夠的資訊,無法明確定義所發生的內容。 通常,您也必須考慮非預期關機時發生什麼情況(例如電源供應器故障)。 使用本文中的資訊來識別適合您情況的疑難解答方法:
- 案例 1:計算機因為停止錯誤而重新啟動,而事件識別碼 41 包含停止錯誤 (錯誤檢查) 程序代碼
- 案例 2:計算機會重新啟動,因為您按下並按住電源按鈕
- 案例 3:計算機沒有回應或隨機重新啟動,且未記錄事件標識碼 41 或事件識別碼 41 專案會列出零的錯誤碼值
案例 1:計算機因為停止錯誤而重新啟動,而事件識別碼 41 包含停止錯誤 (錯誤檢查) 程序代碼
當計算機因為停止錯誤而關閉或重新啟動時,Windows 會在事件標識碼 41 中包含停止錯誤數據,做為更多事件數據的一部分。 此資訊包括停止錯誤碼(也稱為錯誤檢查碼),如下列範例所示:
EventData
BugcheckCode 159
BugcheckParameter1 0x3
BugcheckParameter2 0xfffffa80029c5060
BugcheckParameter3 0xfffff8000403d518
BugcheckParameter4 0xfffffa800208c010
注意
事件標識碼41包含十進位格式的錯誤檢查程式代碼。 大部分描述錯誤檢查碼的檔會將程式代碼稱為十六進位值,而不是十進位值。 若要將十進位轉換成十六進位,請遵循下列步驟:
- 選取 [開始],在 [搜尋] 方塊中輸入 calc,然後選取 [計算機]。
- 在 [計算機] 視窗中,選取 [檢視>程序設計人員]。
- 在計算機左側,確認已醒目提示 Dec 。
- 使用鍵盤來輸入錯誤檢查碼的十進位值。
- 在計算機左側,選取 [十六進位]。
計算機所顯示的值現在是十六進位程序代碼。
當您將錯誤檢查程式代碼轉換成十六進位格式時,請確認 「0x」 指定後面接著八位數(也就是 」x“ 之後的程式代碼部分包含足夠的零,以填滿八位數)。 例如,0x9F通常會記載為0x0000009f,且0xA記載為0x0000000A。 在本文中的範例事件數據案例中,“159” 會轉換成 0x0000009f。
識別十六進位值之後,請使用下列參考繼續疑難解答:
- 停止錯誤或藍色當機畫面錯誤問題進階疑難排解。
- 錯誤檢查程式代碼參考。 此頁面列出不同錯誤檢查碼的文件連結。
- 如何針對內核模式藍螢幕當機進行偵錯(適用於初學者)。
案例 2:計算機會重新啟動,因為您按下並按住電源按鈕
因為重新啟動計算機的這個方法會干擾 Windows 關機作業,因此只有在您沒有替代方案時,才建議您使用此方法。 例如,如果您的電腦沒有回應,您可能必須使用此方法。 當您按下電源按鈕並按住電源按鈕來重新啟動計算機時,計算機會記錄事件標識碼 41,其中包含 PowerButtonTimestamp 專案的非零值。
<EventData>
<Data Name="BugcheckCode">0</Data>
<Data Name="BugcheckParameter1">0x0</Data>
<Data Name="BugcheckParameter2">0x0</Data>
<Data Name="BugcheckParameter3">0x0</Data>
<Data Name="BugcheckParameter4">0x0</Data>
<Data Name="SleepInProgress">0</Data>
<Data Name="PowerButtonTimestamp">131728546170882432</Data>
<Data Name="BootAppStatus">0</Data>
</EventData>
如需疑難解答沒有回應的計算機時的說明,請參閱 Windows 說明。 請考慮使用「停止回應」、「回應」或「空白畫面」等關鍵詞來搜尋協助。
案例 3:計算機沒有回應或隨機重新啟動,且未記錄事件標識碼 41 或事件識別碼 41 專案或列出錯誤碼值為零
此案例包括下列情況:
- 您將電源關閉至沒有回應的電腦,然後重新啟動電腦。
若要確認電腦沒有回應,請按 鍵盤上的 Caps 鎖定 鍵。 如果您按下 Caps 鎖定鍵時鍵盤上的 Caps 鎖定燈不會變更,計算機可能會沒有回應(也稱為硬式停止回應)。 - 計算機會重新啟動,但不會產生事件標識碼 41。
- 計算機會重新啟動併產生事件標識碼 41,但 BugcheckCode 和 PowerButtonTimestamp 值為零。
在這種情況下,某些專案會防止 Windows 產生錯誤碼,或將錯誤碼寫入磁碟。 某些專案可能會封鎖對磁碟的寫入存取權(如沒有回應的計算機),或計算機可能會關閉太快而無法寫入錯誤碼,甚至偵測到錯誤。
事件識別碼 41 中的資訊提供開始檢查問題的一些指示:
事件標識碼 41 未記錄,或錯誤檢查碼為零。 此行為可能表示電源供應器問題。 如果計算機電源中斷,計算機可能會關閉,而不會產生停止錯誤。 如果它確實產生停止錯誤,它可能無法完成將錯誤碼寫入磁碟。 下次電腦啟動時,它可能不會記錄事件標識碼 41。 或者,如果這樣做,錯誤檢查程式代碼為零。 下列情況可能是原因:
- 在可攜式計算機的情況下,電池已移除或耗盡。
- 在桌面電腦的情況下,計算機已解除電源中斷或發生電源中斷。
- 電源供應器電源不足或故障。
PowerButtonTimestamp 值為零。 如果您將電源中斷連線到未回應輸入的計算機,就可能會發生此行為。 下列情況可能是原因:
- Windows 行程封鎖了對磁碟的寫入存取,而且您按下電源按鈕並按住電源按鈕至少四秒來關閉計算機。
- 您已將電源中斷連線到沒有回應的電腦。
無法寫入傾印檔案,且所有值都是零。 例如:
<EventData> <Data Name="BugcheckCode">0</Data> <Data Name="BugcheckParameter1">0x0</Data> <Data Name="BugcheckParameter2">0x0</Data> <Data Name="BugcheckParameter3">0x0</Data> <Data Name="BugcheckParameter4">0x0</Data> <Data Name="SleepInProgress">0</Data> <Data Name="PowerButtonTimestamp">0</Data> <Data Name="BootAppStatus">0</Data> </EventData>
不過,volmgr 記錄的事件標識碼為 46: 損毀傾印初始化失敗!。 如果計算機在沒有設定的傾印檔案的情況下啟動,就可能發生此事件。 默認傾印檔案是頁面檔。
因此,如果您有非預期的重新啟動案例,且事件標識碼 41 具有所有值為 0 時,請檢查是否有 volmgr 的事件識別碼 46。 如果是,請檢查頁面檔組態。 由於錯誤檢查,仍可能發生非預期的重新啟動,但系統無法在事件標識碼 41 中寫入錯誤檢查類型,也無法產生記憶體轉儲。 當您啟動電腦時,請參閱 事件標識碼 46
一般而言,此案例中所述的徵兆表示硬體問題。 若要協助找出問題,請執行下列步驟:
- 停用超鎖定。 如果計算機已啟用超鎖定,請將其停用。 確認當系統以正確的速度執行時發生問題。
- 檢查記憶體。 使用記憶體檢查程式來判斷記憶體健全狀況和組態。 確認所有記憶體晶元都以相同的速度執行,且系統中已正確設定每個晶元。
- 檢查電源供應器。 確認電源供應器有足夠的瓦數可適當處理已安裝的裝置。 如果您新增記憶體、安裝較新的處理器、安裝更多磁碟驅動器或新增外部裝置,這類裝置可能需要比目前電源供應器更能持續提供的能量。 如果電腦記錄事件標識碼 41,因為計算機的電源中斷,請考慮取得不間斷電源供應器(UPS),例如電池備份電源供應器。
- 檢查過熱。 檢查硬體的內部溫度,並檢查是否有任何過熱的元件。
- 如果計算機是實體計算機,則偵測到機器的自動伺服器復原 (ASR) 軟體可能已重新啟動該電腦沒有回應。
- 如果系統是在 Hyper-V 虛擬機中執行,而且不是叢集環境的一部分,系統可能已由 Hyper-V 活動訊號功能重新啟動。 如果已啟用此功能,且主機未從 VM 偵測活動訊號(可能是因為它沒有回應),Hyper-V 將會重新啟動 VM。
- 如果問題發生在 Hyper-V 叢集環境中,問題可能與啟用虛擬機選項的活動訊號監視有關。 當您嘗試從叢集環境中執行的虛擬機取得完整記憶體傾印檔案時,請參閱損毀的記憶體轉儲檔案。
- 如果 VMWare VM 發生此問題,它可能與 VMWare 中的活動訊號功能相關,或 VM 是某些第三方叢集的一部分。
- 在關閉時間之前檢查是否有任何可疑事件(從應用程式記錄檔和系統記錄檔的事件標識碼 6008 取得)。
如果您執行這些檢查,仍然無法隔離問題,請將系統設定為其預設組態,並確認問題是否仍發生。
注意
如果您看到包含錯誤檢查碼的停止錯誤訊息,但事件識別碼 41 不包含該程式代碼,請變更計算機的重新啟動行為。 若要這樣做,請遵循下列步驟:
- 以滑鼠右鍵按兩下 [我的計算機],然後選取 [屬性>進階系統設定>] [進階]。
- 在 [ 啟動和復原] 區段中,選取 [ 設定]。
- 清除 [ 自動重新啟動] 複選框。
其他相關資訊
事件標識碼 41 的詳細數據
當電腦意外關閉或重新啟動時,會發生核心 Power 事件標識碼 41 錯誤。 當 Windows 電腦啟動時,會執行檢查以判斷電腦是否已完全關閉。 如果沒有,則會產生核心 Power 事件標識碼 41 訊息。
事件標識碼 41 是用來報告導致 Windows 無法正確關閉的意外狀況。 資訊可能不足,無法明確定義所發生的情況。 如需詳細資訊,請參閱 核心 Power 事件標識碼 41 。
- 記錄檔名稱:系統
- 產品:Windows 操作系統
- 標識碼:41
- 來源:Microsoft-Windows-Kernel-Power
- 層級:重大
- 版本:6.1
- 訊息:系統已重新啟動,而不需要先完全關閉。 如果系統停止響應、當機或意外失去電源,就可能導致此錯誤。
注意
.evtx 檔案中顯示的時間會調整為系統的時間。 檢查伺服器的時區。
- 事件標識碼 41:此事件表示 Windows 在未完成關機的情況下重新啟動。
- 事件標識碼 1074:當應用程式負責系統關機或重新啟動時,就會記錄此事件。 它也會指出使用者何時使用 [開始 ] 功能表或按 Ctrl+Alt+Del 來重新啟動或關閉系統。
- 事件標識碼 6006:此事件表示 Windows 已適當關閉。
- 事件標識碼 6008:此事件表示不正確或已變更的關機。 當最近的關機非預期時,就會記錄它。
在電腦關機之前, shutdown.exe
將會使用Source=User32和事件標識碼1074以及任何自定義訊息和原因碼,在Windows系統記錄檔中記錄關機事件。
事件記錄檔是判斷從 shutdown.exe
觸發重新啟動的唯一方式是擱置中。 事件也會記錄用戶名稱,以及發出命令的 shutdown
日期和時間。
使用 shutdown.exe
重新啟動伺服器時,關機程式通常會允許 30 秒,以確保每個執行中的服務都有時間停止。 服務會依字母順序關閉。 使用 或 以特定順序 NET STOP
手動停止服務,可能會 SC
稍微快一些。
開機狀態檔案 (從 Windows 內部 6 日)
Windows 會使用開機狀態檔案 (%SystemRoot%\Bootstat.dat) 來記錄它已經歷系統生命週期的各個階段,包括啟動和關機的事實。
這可讓開機管理員、Windows 載入器和啟動修復工具偵測異常關機或無法完全關機,以提供用戶復原和診斷開機選項,例如「上次已知良好」和「安全模式」。 此二進位檔包含系統報告系統生命週期下列階段成功的資訊:
- 開機 (成功開機的定義與用來判斷上次已知良好狀態的定義相同,如先前所述)
- 關機
- 從休眠或暫停繼續
開機狀態檔案也會指出使用者上次嘗試開機操作系統時是否偵測到問題,以及顯示的復原選項,表示使用者已察覺到問題並採取動作。 ntdll.dll中的運行時間連結庫 API (Rtl) 包含 Windows 用來讀取和寫入檔案的私人介面。 和 BCD 一樣,使用者無法編輯它。
關於關機
啟動關機時,Windows 會將WM_QUERYENDSESSION訊息傳送給具有使用者介面 (UI) 線程的所有執行中應用程式。 此訊息會要求應用程式儲存任何未儲存的數據,並正常終止。 如果應用程式未在特定時間限制內回應訊息,Windows 會將WM_ENDSESSION訊息傳送至應用程式,以立即終止應用程式。
如果所有應用程式都回應WM_QUERYENDSESSION訊息並正常終止,Windows 會在系統事件記錄檔中記錄清除關機事件。 如果任何應用程式未回應訊息或異常終止,Windows 會在系統事件記錄檔中記錄髒關機事件。
非預期的關機主要是由操作系統外部的元件所造成。
骯髒的關機是在計算機系統關閉而不經過適當的關機程式時。 當電源突然關閉或計算機強制關閉電源按鈕時,就會發生這種情況。 臟關機可能會導致數據遺失或損毀,也可能導致開機問題。
臟關機計數登錄是 Windows 登錄中的登錄機碼,用來追蹤電腦系統關閉的次數,而不需要經過適當的關機程式。 針對開機問題進行疑難解答時,此密鑰很有用,以識別系統是否未正確關閉電源。
您也可以清除下列登錄機碼中的所有值(例如 DirtyShutdown、LastAliveStamp、TimeStampInterval: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
。 這有助於防止關機事件追蹤器在非預期的關機之後出現。