共用方式為


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

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

家用使用者:本文適用於支持專員和IT專業人員。 如果您要尋找使用計算機時藍螢幕錯誤碼的詳細資訊,請參閱 針對藍螢幕錯誤進行疑難解答

原始 KB 編號: 156669

本文適用於進階計算機使用者。 如果您不熟悉進階疑難解答,請向某人尋求協助或連絡技術支援。

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

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

備註

括弧中的參數專屬於您的計算機組態,而且每個發生時可能會有所不同。

原因

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

  • 已安裝不相符的系統檔案。
  • Service Pack 安裝失敗。
  • 用來還原硬碟的備份程式未正確還原可能正在使用中的檔案。
  • 已安裝不相容的第三方程式。

解決辦法

若要針對此問題進行疑難解答,您必須判斷其中哪一個進程失敗,以及原因。

若要判斷哪個進程失敗,請將 Watson 博士註冊為預設系統調試程式,如果它還不是預設調試程式。 適用於 Windows NT 的 Watson 博士會將程序失敗的診斷資訊記錄到 Drwtsn32.log 記錄檔。 此外,您也可以設定此程式來產生失敗進程的記憶體轉儲檔案。 然後,您可以分析調試程式中的檔案,以判斷進程失敗的原因。

若要設定 Watson 博士以攔截使用者模式程式錯誤,請遵循下列步驟:

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

    此命令會將 Watson 博士設定為預設系統調試程式。

  2. 在命令提示字元中,輸入 系統根目錄\System32\Drwtsn32.exe,然後選取下列選項:

    • 附加至現有的記錄檔
    • 建立當機轉儲
    • 視覺通知
  3. 當電腦從 STOP 0xC000021A 錯誤重新啟動後,請執行 Dr. Watson(Drwtsn32.exe)。

  4. 檢視 Watson 博士記錄檔,以判斷哪些使用者模式程式可能造成問題。

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

    如果 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 中安裝和使用復原主控台