Windows XP藍屏故障診斷

  主題1: 什麼是藍屏錯誤?
當Windows遇到某些狀況時,它會掛起並顯示藍屏,且以白色文本顯示生成的診斷信息。術語「藍屏」或「藍屏死機」源於這些錯誤。

存在如下狀況時,將會出現藍屏錯誤: api

  • Windows檢測到一個沒法在不丟失數據的狀況下恢復的錯誤
  • Windows檢測到關鍵的操做系統數據已損壞
  • Windows檢測到硬件出現不可恢復的故障
  • 這些年來,顯示的確切文本已發生變化:Windows NT 4.0中顯示密密麻麻的信息,而Windows現代版本中採用的信息相對較少。(圖1)
系統檢測到一個問題,Windows已被關閉,以防止
對計算機形成損壞。

UNMOUNTABLE_BOOT_VOLUME 緩存

若是是第一次看見此錯誤屏幕,
請從新啓動計算機。若是此屏幕再次出現,則請執行
如下步驟: 安全

檢查以確保擁有足夠的磁盤空間。若是
Stop信息中已肯定驅動程序,則請禁用此驅動程序,或諮詢
製造商以肯定此驅動程序是否已更新。嘗試更換視頻
適配器。 服務器

諮詢硬件供應商以肯定全部BIOS是否已更新。禁用
BIOS內存選項,如高速緩存或屏蔽。
若是須要使用安全模式刪除或禁用組件,則請從新啓動
計算機,並按F8以選擇「Advanced Startup Options(高級啓動選項)」,而後
選擇「Safe Mode(安全模式)」。 工具

技術信息: 測試

*** STOP: 0x000000ED(0x80F128D0, 0xC000009C, 0x00000000, 0x00000000) 網站

圖1:藍屏錯誤示例

主題2: 診斷出現常見藍屏錯誤消息的問題

Stop 0x000000ED(UNMOUNTABLE_BOOT_VOLUME)

致使這兩個錯誤的緣由相同,而且相同的故障診斷步驟對二者都適用。這些Stop代碼一般會在啓動過程當中出現。當您遇到其中一個Stop代碼時,將會出現如下狀況: spa

1 系統已完成開機自檢(POST)。 操作系統

2 系統已加載NTLDR,並將啓動過程的控制權移交給NTOSKRNL(內核)。 命令行

3 NTOSKRNL被混淆。它沒法找到剩下的部分,也沒法在認爲被存儲的位置讀取文件系統。

診斷此錯誤時,您的任務就是肯定致使Windows內核混淆的緣由,並解決此混淆問題。

檢查事項

  • 系統BIOS中的SATA控制器配置若是SATA控制器已從ATA模式切換到AHCI模式(或從AHCI模式切換到ATA模式),因爲不一樣的模式須要不一樣的驅動程序,所以Windows將沒法與SATA控制器進行通訊。嘗試切換BIOS中的SATA控制器模式。
  • RAID設置若是您一直在嘗試進行RAID控制器設置,則可能會收到此錯誤。嘗試將RAID設置恢復爲自動檢測(一般十分準確)。
  • 電纜拔插不當或錯誤嘗試從新拔插鏈接驅動器及其控制器的數據線兩端。
  • 硬盤出現故障在硬盤中運行內置診斷程序。請記住:代碼7指示的是可更正的數據損壞,而非磁盤故障。
  • 文件系統損壞Windows安裝光盤啓動恢復控制檯,並運行chkdsk/f/r
  • 未正確配置的BOOT.INI(Windows XP)。若是不當心清除或修補了boot.ini文件,則您可能會在啓動過程當中收到Stop代碼0x7B。從Windows安裝光盤啓動恢復控制檯,並運行BOOTCFG/REBUILD

STOP 0x00000024(NTFS_FILE_SYSTEM)

此Stop代碼表示NTFS文件系統驅動程序遇到沒法處理的問題,此問題幾乎都是由如下三個因素引發:

  • 磁盤上的數據損壞
  • 內存中的數據損壞
  • 系統內存用竭(此狀況一般只會在過載的服務器上出現)

檢查事項

1 從新拔插內存和全部驅動程序數據線,以免出現因硬件安裝不當或錯誤而形成的數據損壞問題。

2 運行內存和硬盤全面診斷程序。沒法在此進行完全的快速測試。您須要運行全面系統診斷程序。

3 若是這些診斷程序均已經過,則請從「Recovery Console(恢復控制檯)」(chkdsk/f/r)運行全面系統檢查,以檢測並(可能)修復全部損壞的數據。

4 若是以上措施均沒法解決此問題,則請從新安裝Windows。

5 若是從新安裝Windows也沒法解決此問題,請更換硬盤。

STOP 0x0000007E(SYSTEM_THREAD_EXEPTION_NOT_HANDLED)

STOP 0x0000008E(KERNEL_MODE_EXCEPTION_NOT_HANDLED)

這兩個錯誤表示內核中運行的程序遇到了沒法恢復的意外狀況。它們具備相同的故障診斷和解決步驟。您可能須要使用Windows調試程序找出致使此錯誤的緣由。

檢查事項

  • 若是藍屏信息中提到了某驅動程序或庫文件,則請找出此文件隸屬的驅動程序或應用程序,而後更新或禁用它。
  • 將系統BIOS更新爲可用的最新版本。
  • 卸載全部最近安裝的程序,並回滾全部最近安裝的驅動程序。
  • 對計算機內存運行診斷程序。

STOP 0x00000050(PAGE_FAULT_IN_NON_PAGED_AREA)

此Stop代碼表示系統幾乎老是出於如下緣由嘗試訪問不存在的內存:

  • 驅動程序嘗試訪問一頁不存在的內存
  • 系統服務(如 病毒掃描儀)出現意外狀況
  • 故障或未正確安裝內存
  • 硬盤上的數據損壞

使用Windows調試程序查明致使這些錯誤的確切緣由。

檢查事項

1 若是藍屏錯誤中提到了某驅動程序或庫文件,則請找出此文件隸屬的驅動程序或應用程序,而後將其更新爲最新版本或卸載此驅動程序或程序。

2 若是在啓動過程當中出現錯誤,則請嘗試啓動至最後一次正確配置。

3 若是安裝程序或驅動程序後出現錯誤,則請卸載此程序或驅動程序。

4 從新拔插內存和硬盤數據線後,請嘗試運行硬盤和內存全面診斷程序。

STOP 0x000000D1(DRIVER_IRQL_NOT_LESS_THAN_OR_EQUAL_TO)

此Stop代碼表示驅動程序嘗試訪問它不該訪問的特定內存區域,即驅動程序自己存在缺陷。故障診斷的目的是找到此驅動程序,並禁用或更換它。使用Windows調試程序診斷此錯誤。

若是沒有此調試程序,則您只能卸載/更新/回滾藍屏信息中提到的包含驅動程序文件的驅動程序。

STOP 0xC0000218(STATUS_CANNOT_LOAD_REGISTRY_FILE)

此Stop代碼表示註冊表已損壞。

檢查事項

1 嘗試啓動至最後一次正確配置。

2 若是啓動失敗,則您必須嘗試手動恢復註冊表文件。手動恢復註冊表的過程至關複雜,Microsoft知識庫文章中已有說明:

STOP 0x000000EA(THREAD_STUCK_IN_DEVICE_DRIVER)

此藍屏錯誤表示設備驅動程序(一般是顯卡驅動程序)停滯以等待下一項操做(一般是硬件操做)。多數人可能已看到與此藍屏信息相關聯的nv4_disp.sys

檢查事項

1 請確保視頻驅動程序已更新爲戴爾的最新版本。

2 系統BIOS已徹底更新。

3 若是視頻驅動程序和系統BIOS均已徹底更新,則請諮詢製造商以肯定是否已將驅動程序更新爲最新版本。

4 最後一種解決辦法是嘗試更換顯卡。

從新安裝Windows不可能阻止此錯誤再次出現。

「How to recover from a corrupted registry that prevents Windows XP from starting(如何恢復損壞的註冊表以防止Windows XP啓動)」

Stop 0x0000007B(INACCESSIBLE_BOOT_DEVICE)

主題3: 使用Windows調試程序
戴爾推薦視頻 - 戴爾建立了一個在線教程,教授如何使用Windows調試程序工具診斷特定藍屏錯誤。

單擊此處可查看Windows調試程序教程!注:只有英語版

Windows調試程序是Microsoft軟件開發商和支持人員使用的一種主要工具,用於分析和處理致使內存轉儲的錯誤,您也能夠嘗試。

Windows調試程序是一種附帶了不少有用應用程序的強大工具。但在本文中,咱們只重點介紹其經過分析因藍屏錯誤生成的內存轉儲文件以肯定錯誤緣由的功能。

使用此工具前,請記住如下內容:

  • Windows調試程序不是真正的Windows工具。您必須從Microsoft網站上下載並安裝此應用程序(15MB)。安裝此工具要求用戶具備管理員訪問權限。
  • 此調試程序要求在使用前進行小部分的自定義。
  • 調試程序對內存轉儲進行徹底分析時,最快要用30秒,最慢要2分鐘。

要使用此工具,請執行如下步驟:

1 從Microsoft網站上下載並安裝Windows調試程序。

注:

若是您使用Google搜索「Windows調試程序」,返回的第一個連接將爲Windows調試程序主頁。

2 完成安裝後,請單擊

「start(開始)」
,單擊 「All Programs(全部程序)」 ,並單擊 Debugging Tools for Windows,而後單擊 WinDbg打開調試程序。

3 配置調試程序使用的符號路徑,以便將內存轉儲文件的地址轉爲有意義的位置名稱:展開「File(文件)」菜單,選擇「Symbol File Path(符號文件路徑)」,在對話框中鍵入"SRV*c:\debug_symbols*http://msdl.microsoft.com/download/symbols",而後單擊「OK(肯定)」

4 打開一個微型轉儲文件:展開「File(文件)」菜單,選擇「Open Crash Dump(打開崩潰轉儲)」,並選擇所需的轉儲文件,而後單擊「Open(打開)」

注:

系統一般將微型轉儲文件存儲在如下其中一個路徑中:C:\WINNT\Minidump\C:\Windows\Minidump\。文件將被命名爲miniMMDDYY-NN.dmp,其中MM表明月,DD表明日,YY則表明建立轉儲文件的年份。若是多個轉儲文件於同一天生成,NN是建立轉儲文件的序號(給定日生成的第一個崩潰轉儲的編號是01,第二個的編號是02,依此類推)。

5 調試程序將打開轉儲文件,並對致使系統崩潰的緣由做出簡短說明。(圖2

注:

首次使用調試程序在系統中打開並轉儲文件時,在其返回任何信息以前,將花費幾分鐘下載背景中的符號信息。


圖2:Windows調試程序

調試程序命令行的建議命令
藍屏的Stop代碼(1000007F與0x7F相同)
Windows認爲致使崩潰的緣由(在atapi.sys一例中,您有時會看到memory_corruption等內容)

6 當它返回初步分析時,調試程序將告訴您如何進行深刻分析。在窗口底部的命令行(kd>)字段中鍵入"!analyze -v",並按Enter鍵,以使WinDbg對此文件進行詳細分析。

注:

分析結果會很長,您可能須要在調試程序窗口中經過垂直滾動找到全部相關信息。


圖3分析結果

Stop代碼的詳細說明(在本例中,您能夠看到內核在嘗試處理錯誤時遇到了EXCEPTION_DOUBLE_FAULT(8)或錯誤)


圖4 :進一步分析結果

錯誤檢查代碼(注意:此例中的數字8表示雙重故障)
系統由於此確切錯誤而崩潰的次數(一般是1)
Windows在其中對崩潰進行分類的存儲桶
系統崩潰時的堆棧記錄,其中頂部列出了最近調用的程序(您能夠看到系統在處理IDE控制器請求時發生崩潰的實例)


圖5其它分析

系統崩潰時所在的模塊名稱。在實際系統中,模塊名稱是一個連接,經過單擊它您能夠收到一些關於此模塊的有用信息,如建立者、建立歷史等。
系統崩潰時所在的模塊名稱。在實際系統中,模塊名稱是一個連接,經過單擊它您能夠收到一些關於此模塊的有用信息,如建立者、建立歷史等。
系統崩潰時所在的模塊名稱。在實際系統中,模塊名稱是一個連接,經過單擊它您能夠收到一些關於此模塊的有用信息,如建立者、建立歷史等。
相關文章
相關標籤/搜索