如何針對 Windows XP 或 Windows Server 2003 中的 STOP 0xC000021A 錯誤進行疑難排解

本文提供 STOP 0xC000021A 錯誤的進階疑難排解步驟。

家庭使用者:本文主要提供給支援專員與 IT 專業人員使用。 如果您要在使用電腦時尋找有關藍色畫面錯誤碼的詳細資訊,請參閱 針對藍色畫面錯誤進行疑難排解

適用於:Windows 10 - 所有版本、Windows Server 2012 R2
原始 KB 編號: 156669

本文主要為進階電腦使用者提供。 如果您不熟悉進階疑難排解,可以尋求他人的協助或連絡技術支援。

當您使用執行「適用于」一節中所列其中一個作業系統的伺服器或工作站時,您可能會收到下列錯誤訊息:

STOP: c000021a {嚴重系統錯誤}
Windows 登入處理系統處理序意外終止,狀態為 0xc0000034 (0x00000000 0x0000000)
系統已關閉。

注意事項

括弧中的參數是您的電腦群組態特有的,而且每個出現的參數可能不同。

原因

當 Winlogon.exe 或 Csrss.exe 失敗時,就會發生 STOP 0xC000021A 錯誤。 當 Windows NT 核心偵測到其中一個處理序已停止時,它會停止系統並引發 STOP 0xC000021A 錯誤。 此錯誤可能有幾個原因,包括:

  • 已安裝不相符的系統檔案。
  • Sservice Pack 安裝失敗。
  • 用來還原硬碟的備份程式未正確還原可能正在使用的檔案。
  • 已安裝不相容的協力廠商程式。

解決方案

若要針對此問題進行疑難排解,您必須判斷哪些處理序失敗以及其原因。

若要判斷哪個處理序失敗,如果 Dr. Watson 還不是預設偵錯工具,請將其註冊為預設系統偵錯工具。 Dr. Watson for Windows NT 記錄有關記錄檔 Drwtsn32.log 之處理序失敗的診斷資訊。 此外,您可以設定此程式來產生失敗處理序的記憶體傾印檔案。 然後您可以分析偵錯工具中的檔案,以判斷處理序失敗的原因。

若要設定 Dr. Watson 來捕捉使用者模式程式錯誤,請遵循下列步驟:

  1. 在命令提示字元輸入 System Root\System32\Drwtsn32.exe -I,然後按下 Enter。

    此命令會將 Dr. Watson 設定為預設系統偵錯工具。

  2. 在命令提示字元中,輸入 System Root\System32\Drwtsn32.exe,然後選取下列選項:

    • 附加到現有的記錄檔案
    • 建立損毀傾印
    • 可視化通知
  3. 在電腦從 STOP 0xC000021A 錯誤重新開機之後,執行 Dr. Watson (Drwtsn32.exe)。

  4. 檢視 Dr. Watson 記錄檔,以判斷可能造成問題的使用者模式處理序。

  5. 如果 Dr. Watson 記錄檔未包含足夠的資訊來判斷問題的原因,請分析 User.dmp 檔案以判斷 STOP 0xC000021A 錯誤的原因。

    如果 Dr. Watson 未為 Winlogon.exe 或 Csrss.exe 建立 User.dmp 檔案,您可能必須使用不同的工具來產生失敗的處理序記憶體傾印檔案。 如需詳細資訊,請參閱下列文章:

    241215 如何使用 Userdump.exe 工具建立傾印檔案

    注意事項

    請遵循知識庫文章中的指示,針對因例外狀況而關閉的處理序進行疑難排解。 當您遵循這些指示時,請監視下列處理序,以針對 STOP 0xC000021A 錯誤進行疑難排解:

    • Winlogon.exe
    • Csrss.exe

    大部分的 STOP 0xC000021A 錯誤都會因為 Winlogon.exe 失敗而發生。 這通常是因為協力廠商圖形識別和驗證 (GINA) DLL 錯誤所導致。 GINA 是可取代的 DLL 元件,由 Winlogon.exe 載入。 GINA 會實作互動式登入模型的驗證原則。 GINA 會執行所有識別和驗證使用者互動。

某些類型的遠端控制軟體通常會取代預設的 Windows GINA DLL (Msgina.dll)。 好的第一步是檢查系統,以查看它是否有協力廠商 GINA DLL。 為此,請找出下列登錄機碼:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonValue = GinaDLL REG_SZ

  • 如果 Gina DLL 值存在,而且它是 Msgina.dll 以外的任何值,則可能表示協力廠商產品已變更此值。
  • 如果此值不存在,系統會使用 Msgina.dll 作為預設 GINA DLL。 如果在安裝新的或更新的裝置磁碟機、系統服務或協力廠商程式之後第一次發生此錯誤,則應該移除或停用新軟體。 請連絡軟體製造商,瞭解是否有可用的更新。

上次的正確設定

如果本文中的先前步驟無法解決問題,請使用上次的正確設定來啟動電腦。 若要使用上次的正確設定來啟動電腦,請遵循下列步驟。

注意事項

由於 Microsoft Windows 有多種版本,因此下列步驟可能因您的電腦而有所差異。 如有需要,請參閱您的產品說明文件,以完成這些步驟。

  1. 選取 [開始]> [關閉]

  2. 選取 [重新啟動]> [確定]

  3. 在指定的時間按 F8:

    • 針對 x86 型電腦:當文字畫面出現,然後消失時,請按 F8。 (文字畫面可能包含記憶體測試、BIOS 的相關列及其他列。) 也可能出現提示,告訴您何時按 F8。
    • 針對以 Itanium 架構為基礎的電腦:從開機功能表選取之後,請按 F8。 可能有提示會告訴您何時按 F8。
  4. 使用方向鍵選取 [上次的正確設定],然後按下 ENTER。

    NUM LOCK 必須先關閉,數字鍵台上的方向鍵才能運作。

  5. 使用方向鍵反白顯示作業系統,然後按 Enter。

注意事項

  • 選擇 [上次的正確設定] 啟動選項可讓您從新新增的驅動程式這類問題中復原,這類驅動程式可能不適合您的硬體。 不過,它無法解決因驅動程式或檔案損毀或遺失所造成的問題。
  • 當您選擇 [上次的正確設定] 選項時,只會還原登錄機碼 HKLM\System\CurrentControlSet 中的資訊。 您在其他登錄機碼中所做的任何變更都會保留。

使用復原主控台移除不相容的軟體

如果本文中的先前步驟無法解決問題,請使用復原主控台移除不相容的軟體。 說明如何執行此動作的完整步驟已超出本文的範圍。 不過,您可以使用下列文章作為指引:

816104 如何在 Windows Server 2003 中使用復原主控台取代驅動程式
326215 如何在未啟動的 Windows Server 2003 電腦上使用復原主控台
307654 如何安裝及使用 Windows XP 的修復主控台