從Windows 98到Windows XP,功能有了很大的變化,安全性得到了增強(qiáng),但那個(gè)最有名的藍(lán)屏還永恒存在。一般用戶,面對藍(lán)屏白字冷冰冰的錯(cuò)誤信息時(shí),往往會手足無措。其實(shí)藍(lán)屏信息并不是如此不近人情,它顯示的信息包括了導(dǎo)致系統(tǒng)故障的線索,通過分析這些蛛絲馬跡,我們很有可能找到解決問題的根本方法。
直面藍(lán)屏錯(cuò)誤
Windows下應(yīng)用程序、驅(qū)動程序的運(yùn)行模式,包括用戶模式(User Mode)和內(nèi)核模式(Kernel Mode)兩種。如果在用戶模式發(fā)生錯(cuò)誤,Windows會關(guān)閉導(dǎo)致錯(cuò)誤的應(yīng)用程序,并提示錯(cuò)誤;但在內(nèi)核模式下發(fā)生的錯(cuò)誤(就是指藍(lán)屏錯(cuò)誤),由于Windows遇到的是致命錯(cuò)誤(GPF,一般保護(hù)性錯(cuò)誤),繼續(xù)進(jìn)行下去有可能導(dǎo)致數(shù)據(jù)或者硬件損壞,所以只有顯示藍(lán)底白字的錯(cuò)誤信息,等用戶重新啟動計(jì)算機(jī)。
小知識
藍(lán)屏錯(cuò)誤在英文中被稱為BSOD,就是Blue Screen of Death(死亡的藍(lán)屏?)。
1.藍(lán)屏的通常表現(xiàn)
藍(lán)屏除了會顯示藍(lán)底白字的錯(cuò)誤信息外,還有其他的表現(xiàn)形式,比如有時(shí)候計(jì)算機(jī)莫名其妙地重啟,重啟后系統(tǒng)提示錯(cuò)誤信息:“系統(tǒng)從一個(gè)嚴(yán)重錯(cuò)誤中恢復(fù)”,這也是一種藍(lán)屏錯(cuò)誤。
但這種莫名其妙的系統(tǒng)重啟,會導(dǎo)致我們看不到錯(cuò)誤信息,更不知道該如何下手解決問題,所以我們最好讓藍(lán)底白字的錯(cuò)誤信息顯示在屏幕上。
在“我的電腦”上單擊右鍵,選擇“屬性”打開“系統(tǒng)屬性”窗口,然后點(diǎn)擊“啟動和故障恢復(fù)”下的“設(shè)置”打開“啟動和故障恢復(fù)”窗口,取消“自動重新啟動”前的選勾(如圖1)。這樣一來,系統(tǒng)出現(xiàn)致命錯(cuò)誤,就不會立即重新啟動,而是顯示藍(lán)底白字的錯(cuò)誤信息。
2.看清藍(lán)屏真面目
初遇藍(lán)屏錯(cuò)誤,大家往往會感到無從下手。其實(shí),Windows的藍(lán)屏錯(cuò)誤信息是有固定的格式,包括錯(cuò)誤代碼、自定義參數(shù)、錯(cuò)誤符號以及內(nèi)存未知和文件名(如圖2)。這些信息可以幫助我們解決問題。
從下圖我們可以看出,Windows的藍(lán)屏錯(cuò)誤信息主要包括三個(gè)部分。
●錯(cuò)誤檢測信息
錯(cuò)誤檢測信息包括兩個(gè)部分:錯(cuò)誤代碼和錯(cuò)誤符號。其中錯(cuò)誤符號一般顯示在屏幕的最上方,常見的有K E R N E L _ S T A C K _ I N P A G E _ E R R O R 、I N A C C E S S I B L E _ B O O T _ D E V I C E 、I R Q _ N O T _ L E S S _ O R _ E Q U A L等;而錯(cuò)誤代碼主要顯示在屏幕中間,包括一串以“STOP:”開頭的16進(jìn)制代碼(比如0x00000077、0x0000007B、0x0000000A等),和括號中的參數(shù)。
●建議用戶操作
在錯(cuò)誤符號、錯(cuò)誤代碼之間的是出現(xiàn)該類藍(lán)屏錯(cuò)誤時(shí),微軟建議大家可以嘗試進(jìn)行的操作。
不過,根據(jù)我的經(jīng)驗(yàn),這些推薦操作都是泛泛而談,沒有針對性,也不太可能幫助我們解決問題。
●端口信息和內(nèi)存轉(zhuǎn)儲狀態(tài)
在藍(lán)屏錯(cuò)誤的最下方,會顯示正在轉(zhuǎn)儲內(nèi)存的狀態(tài)。如果有端口信息,也會一并在此顯示。
應(yīng)對藍(lán)屏錯(cuò)誤
藍(lán)屏錯(cuò)誤并沒有想象中那么可怕,只要我們掌握了解決問題的正確方法和思路,藍(lán)屏錯(cuò)誤也可以得到解決。
1.尋求微軟技術(shù)支持
微軟官方站點(diǎn)提供了豐富的錯(cuò)誤描述和解決方案。當(dāng)出現(xiàn)藍(lán)屏錯(cuò)誤,我們不要著急去尋求其他解決方案,通過微軟的官方站點(diǎn)尋找技術(shù)支持才是最迫切需要做的。
(1)確定錯(cuò)誤代碼
在藍(lán)屏錯(cuò)誤出現(xiàn)時(shí),先不要重新啟動計(jì)算機(jī),而應(yīng)該找到紙筆記下錯(cuò)誤符號或者錯(cuò)誤代碼。其中最重要的是錯(cuò)誤代碼,包括“STOP:”后的16進(jìn)制代碼,以及括號中的錯(cuò)誤發(fā)生時(shí)的參數(shù)。比如:
(2)搜索錯(cuò)誤幫助
記下錯(cuò)誤代碼后, 登錄微軟技術(shù)支持站點(diǎn)(網(wǎng)址為:http://support.microsoft.com/support)。在左上角的“在Microsoft.com中搜索”框中,輸入\" S T O P 錯(cuò)誤代碼\"(比如“S T O P0x00000077”),然后點(diǎn)擊“Go”開始搜索。
提示
如果在簡體中文網(wǎng)站沒有搜索到相應(yīng)的資料,你就需要在搜索結(jié)果窗中,勾選“所有語言”,再次進(jìn)行搜索。
有興趣的朋友還可以參考微軟關(guān)于Windows 2000藍(lán)屏故障描述的文章:http://www.microsoft.com/technet/prodtechnol/Windows2000Pro/reskit/part7/proch33.mspx?mfr=true。
在搜索結(jié)果窗口,是不是看到了很多相關(guān)錯(cuò)誤信息描述(如圖3),其中還有相應(yīng)的解決方案。借助這些說明,我們可以解決一部分藍(lán)屏錯(cuò)誤了。
2.Windows內(nèi)置應(yīng)急措施
面對藍(lán)屏錯(cuò)誤,我們也并不是只有從微軟站點(diǎn)找?guī)椭粭l途徑。如果你碰巧上網(wǎng)不方便,或者在微軟技術(shù)支持站點(diǎn)沒有找到相關(guān)信息,下面這些應(yīng)急措施可能給你一點(diǎn)幫助。
(1)最后一次正確的配置
首先,請考慮一下,在錯(cuò)誤發(fā)生之前,我們做了什么?只安裝了一個(gè)驅(qū)動程序,或者一個(gè)軟件?如果是,我們可以嘗試通過“Last Known GoodConfiguration(最后一次正確的配置)”來解決問題。
在BIOS自檢之后,按下F8鍵,將會出現(xiàn)OS Loader的“Windows高級選項(xiàng)菜單”(如圖4),選擇“最后一次正確的配置(您的起作用的最近設(shè)置)”,看看是否可以正常引導(dǎo)到Windows下。
(2)還不行?用安全模式啟動
如果采用“ 最后一次正確的配置”方式啟動計(jì)算機(jī)還是不能解決問題,則請嘗試在OS Loader的“Windows高級選項(xiàng)菜單”下,選擇“安全模式”啟動計(jì)算機(jī)。
如果你想在啟動到“安全模式”時(shí),還可以訪問網(wǎng)絡(luò),則需要選擇“帶網(wǎng)絡(luò)連接的安全模式”。
啟動到安全模式下,刪除導(dǎo)致故障的應(yīng)用程序或者驅(qū)動程序,拷貝丟失的系統(tǒng)文件后,問題得到解決。
(3)故障恢復(fù)控制臺
如果是因?yàn)榘惭b了不當(dāng)?shù)姆?wù)或者驅(qū)動程序,導(dǎo)致上述方式都不能進(jìn)入系統(tǒng),還可以嘗試用Windows XP的CD啟動,選擇“R”進(jìn)入“故障恢復(fù)控制臺”,然后移除導(dǎo)致故障的驅(qū)動程序或者采用其他方法修復(fù)系統(tǒng)錯(cuò)誤。
(4)高手專用——分析內(nèi)存轉(zhuǎn)儲文件
如果你是高手,或者你有興趣對Windows進(jìn)行更深層次的了解,則不妨嘗試一下微軟提供的專業(yè)錯(cuò)誤分析工具WinDbg。
●獲取內(nèi)存轉(zhuǎn)儲文件
在如圖1的“啟動和故障恢復(fù)”窗口,把“寫入調(diào)試信息”設(shè)置為“完全內(nèi)存轉(zhuǎn)儲”。
這樣一來,Windows在出現(xiàn)藍(lán)屏錯(cuò)誤時(shí),會將內(nèi)存信息全部保存在硬盤上。該文件位于Windows安裝目錄下,文件名為Memory.dmp。
●用WinDbg分析內(nèi)存轉(zhuǎn)儲文件
從http://www.microsoft.com/whdc/devtools/debugging/下載并安裝“Debugging Tools for Windows”后,就可以打開Windows目錄下的Memory.dmp進(jìn)行分析了(如圖5)。具體如何操作,我這里不再詳述。
笑談:消滅藍(lán)屏錯(cuò)誤
網(wǎng)上有位朋友口出狂言:藍(lán)屏錯(cuò)誤很容易消滅,并給出了他的做法。
執(zhí)行“ 開始” → “ 運(yùn)行” , 在“運(yùn)行”框中輸入“Msconfig”打開“系統(tǒng)配置實(shí)用程序”,并切換到“System.ini”選項(xiàng)頁下。
雙擊展開“[386Enh]”選項(xiàng),再點(diǎn)擊右側(cè)“新建”按鈕,分別創(chuàng)建以下兩行內(nèi)容(如圖6)。
MessageBackColor=0
MessageTextColor=2
這樣操作以后,Windows出現(xiàn)致命錯(cuò)誤的時(shí)候,只會顯示黑底綠字的錯(cuò)誤信息:藍(lán)屏錯(cuò)誤就被“消滅”了。
有的朋友可能要納悶了, 我想選擇其他的顏色,該怎么辦?很簡單, 在命令行窗口, 輸入“ C o l o r/ ?”就可以了解數(shù)字和顏色的匹配關(guān)系(MessageBackColor——底色,MessageTextColor——字色)。
通閱以上文章,你是不是掌握了Windows藍(lán)屏錯(cuò)誤的解決方法,從今往后再無所顧忌了?
本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。