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

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

家庭使用者:本文專供支援代理商和 IT 專業人員使用。 如果您要在使用電腦時尋找藍屏錯誤代碼的詳細資訊,請參閱 藍屏錯誤的疑難排解

原始產品版本:  Windows 10-all edition,Windows Server 2012 R2
原始 KB 編號:  156669

本文適用于高級電腦使用者。 如果您不熟悉高級疑難排解,您可能會想尋求人員的協助或與技術支援人員聯繫。

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

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

注意

括弧中的參數是個別于您的電腦設定所特有,且每次出現的可能不同。

原因

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

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

解決方案

若要解決此問題,您必須判斷哪些處理常式失敗及其原因。

若要判斷哪個處理常式失敗,請將 Dr. Watson 註冊為預設的系統偵錯工具 (如果它尚不是預設的偵錯工具) 。 Windows NT 的 dr. Watson 會將處理常式失敗的診斷資訊記錄到記錄檔 (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 ( # A0) 。

  4. 請查看 Dr. Watson 記錄檔,以判斷可能導致問題的使用者模式處理常式。

  5. 如果 Dr. Watson 記錄沒有包含足夠的資訊可判斷問題的原因,請分析使用者 dmp 檔案,以判斷 STOP 0xC000021A 錯誤的原因。

    如果 Dr. Watson 沒有為 Winlogon.exe 或 Csrss.exe 建立使用者的 dmp 檔案,您可能需要使用不同的工具產生失敗處理常式的記憶體傾印檔案。 如需詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

    241215 如何使用 Userdump.exe 工具建立轉儲檔

    注意

    遵循知識文庫文章中的指示,以疑難排解已關閉但例外狀況的處理常式。 在您遵循這些指示時,請監視下列程式,以疑難排解 STOP 0xC000021A 錯誤:

    • Winlogon.exe
    • Csrss.exe

    大多數停止0xC000021A 錯誤的發生是因為 Winlogon.exe 失敗。 這通常是因為協力廠商的圖形識別和驗證 (GINA) DLL。 GINA 是 Winlogon.exe 載入的可替代 DLL 元件。 GINA 會實現互動式登入模型的驗證原則。 GINA 會執行所有識別和驗證使用者互動。

某些類型的遙控器軟體將預設 Windows GINA DLL 取代為 ( # A0) 時非常常見。 因此,正確的第一步是檢查系統是否有協力廠商的 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 中的 Recovery 主控台取代驅動程式
326215 如何在未啟動的 Windows Server 2003 電腦上使用損毀修復主控台
307654 如何在 Windows XP 中安裝及使用 Recovery 主控台