Windows XP是美國(guó)微軟公司研發(fā)的基于X86、X64架構(gòu)的PC和平板電腦使用的操作系統(tǒng),于2001年8月24日發(fā)布RTM版本,并于2001年10月25日開(kāi)始零售。其名字中“XP”的意思來(lái)自英文中的“體驗(yàn)(Experience)”。該系統(tǒng)是繼Windows 2000及Windows ME之后的下一代Windows操作系統(tǒng),也是微軟首個(gè)面向消費(fèi)者且使用Windows NT5.1架構(gòu)的操作系統(tǒng)。 雖然基于NT架構(gòu)的Windows 2000/XP系統(tǒng)穩(wěn)定性已經(jīng)大大增強(qiáng),甚至Windows XP號(hào)稱“從不死機(jī)”,但我們?nèi)匀粫?huì)不時(shí)看到如圖1所示的藍(lán)色警報(bào)信息,這就是通常所說(shuō)的“藍(lán)屏”,究竟是怎么回事呢?
一、Windows 2000/XP爆發(fā)藍(lán)色警報(bào)的原因
Windows 2000/XP采用了分層結(jié)構(gòu),它的兩個(gè)層又稱模式,分別為用戶模式(User Mode)和內(nèi)核模式(Kernel Mode),應(yīng)用程序是無(wú)法直接訪問(wèn)硬件設(shè)備的,只有借助驅(qū)動(dòng)程序才能直接訪問(wèn)。
不過(guò),即使NT架構(gòu)再穩(wěn)定,由于會(huì)由于某些原因,例如硬件沖突、硬件產(chǎn)生問(wèn)題、注冊(cè)表錯(cuò)誤、虛擬內(nèi)存不足、動(dòng)態(tài)鏈接庫(kù)文件丟失、資源耗盡等,此時(shí)可能會(huì)導(dǎo)致驅(qū)動(dòng)程序或應(yīng)用程序出現(xiàn)錯(cuò)誤,嚴(yán)重時(shí)甚至?xí)皟?nèi)核層。這種情況下,Windows會(huì)中止系統(tǒng)運(yùn)行,并啟動(dòng)名為KeBugCheck的功能,通過(guò)檢查所有中斷的處理進(jìn)程,并同預(yù)設(shè)的停止代碼和參數(shù)比較后,屏幕將變?yōu)樗{(lán)色,并顯示相應(yīng)的錯(cuò)誤信息和故障提示,由于出現(xiàn)這種現(xiàn)象時(shí)實(shí)際上就意味著死機(jī),因此常稱為“Blue Screen of Death”(BSOD),又稱“STOP信息”或“停止信息”。
二、認(rèn)識(shí)藍(lán)色警報(bào)中隱藏的信息
Windows 2000/XP的BSOD窗口與Windows NT4以前的BOSD窗口有著很大的區(qū)別,最大的區(qū)別是NT的BSOD窗口僅包括一個(gè)通用的停止消息代碼,但Windows 2000/XP的BSOD包含了停止消息和硬件消息兩種類型,前者是發(fā)現(xiàn)一個(gè)無(wú)法恢復(fù)的軟件錯(cuò)誤時(shí)產(chǎn)生的錯(cuò)誤信息,后者是發(fā)現(xiàn)一個(gè)嚴(yán)重的硬件錯(cuò)誤時(shí)產(chǎn)生的錯(cuò)誤信息。
雖然圖1窗口中的信息看起來(lái)很復(fù)雜,但一般均由以下三部分組成:
1.錯(cuò)誤信息
在“*** Stop:”至“****** wdmaud.sys”之間的這段內(nèi)容是所謂的錯(cuò)誤信息,由出錯(cuò)代碼、自定義參數(shù)、錯(cuò)誤符號(hào)等三部分組成,各部分的含義如下:
出錯(cuò)代碼:STOP后面的16進(jìn)制數(shù)字;
自定義參數(shù):出錯(cuò)代碼字符的組成,由程序人員定義,一般用戶很難理解;
錯(cuò)誤符號(hào):KMODE_EXCEPTION_NOT_HANDLED
在錯(cuò)誤符號(hào)后面,這里還顯示了一個(gè)內(nèi)存位置和文件名,可以了解到發(fā)生錯(cuò)誤時(shí)的內(nèi)存位置和源文件。對(duì)我們來(lái)說(shuō),其實(shí)最有用的還是前面的出錯(cuò)代碼信息,在搜索微軟知識(shí)庫(kù)時(shí)將會(huì)用到。
2.推薦操作
這里顯示了系統(tǒng)推薦用戶采取的操作措施和步驟,例如在安全模式下卸載程序、回滾驅(qū)動(dòng)程序、更新BIOS、安裝補(bǔ)丁等,不過(guò)大部分情況下都需要重新啟動(dòng)系統(tǒng)后才能考慮進(jìn)一步的操作。
3.調(diào)試端口信息
這里會(huì)顯示應(yīng)該如何設(shè)置內(nèi)核調(diào)試器的信息,包括內(nèi)存轉(zhuǎn)儲(chǔ)映像是否已寫(xiě)入磁盤(pán)、使用什么端口來(lái)完成這次調(diào)試。
其實(shí),根據(jù)筆者的經(jīng)驗(yàn),藍(lán)色警報(bào)中除了出錯(cuò)代碼比較有用外,對(duì)普通用戶來(lái)說(shuō),其余的大部分信息并無(wú)多少實(shí)際意義,僅供參考而已。
為調(diào)試系統(tǒng)的需要,Windows系統(tǒng)出現(xiàn)BSOP錯(cuò)誤后,KeBugCheck會(huì)自動(dòng)生成一個(gè)名為Memory.dmp的偵錯(cuò)文件,該文件位于C:WindowsMinidump文件夾下,默認(rèn)設(shè)置下,該文件的大小與系統(tǒng)物理內(nèi)存容量一致,我們可以將該文件壓縮后發(fā)送給微軟的技術(shù)支持部門(mén),以獲取相應(yīng)的解決方案,但該文件的容量是如此巨大,如何發(fā)送是一個(gè)大問(wèn)題,因此很少有用戶真正這樣做。
提示:打開(kāi)“系統(tǒng)屬性→高級(jí)→啟動(dòng)和故障恢復(fù)”窗口,在這里可以看到“寫(xiě)入調(diào)試信息”的生成方式:小內(nèi)存轉(zhuǎn)儲(chǔ)、核心內(nèi)存轉(zhuǎn)儲(chǔ)、完全內(nèi)存轉(zhuǎn)儲(chǔ)、無(wú),基于上面的分析的原因,建議在這里選擇“無(wú)”。
Windows XP服役時(shí)間長(zhǎng)達(dá)13年,產(chǎn)生的經(jīng)濟(jì)價(jià)值也較高。2014年4月8日,微軟終止對(duì)該系統(tǒng)的技術(shù)支持,但在此之后仍在一些重大計(jì)算機(jī)安全事件中對(duì)該系統(tǒng)發(fā)布了補(bǔ)丁。
|