電腦為什么會出現(xiàn)藍屏
電腦藍屏,是微軟的 Windows 系列操作系統(tǒng)在無法從一個系統(tǒng)錯誤中恢復過來時,為保護電腦數(shù)據(jù)文件不被破壞而強制顯示的屏幕圖像。那么為什么會出現(xiàn)這種情況呢?
一旦遇上藍屏,大多數(shù)的人都會以為Windows不行了,所以就癱瘓了,有罪魁禍首是Windows,或者Windows不夠強悍、不夠穩(wěn)定的意思。要知道,每當有內(nèi)核模式設備驅(qū)動程序或者子系統(tǒng)引發(fā)了一個非法異常,Windows就會面臨這個艱難的抉擇,雖然Windows最終還是選擇了崩潰,但是這并不代表它就不能夠忽略該異常,讓設備驅(qū)動程序或者子系統(tǒng)繼續(xù)往下執(zhí)行。
Windows之所以要選擇“亡我”,是因為它不知道該錯誤是否能被隔離出來從而不傷害系統(tǒng)的其它程序與數(shù)據(jù),或者該組件將來是否能夠恢復正常,而且Windows深知,這個異常更有可能來源于更深層的問題,比如由于內(nèi)存的常規(guī)破壞(General Corruption),或者由于硬件設備不能正常工作。允許系統(tǒng)繼續(xù)運行可能導致更多的異常,而且,存儲在磁盤或其他外設中的數(shù)據(jù)可能也會遭受破壞。Windows意識到,這樣做的風險太大了,為了您的程序、數(shù)據(jù)安全與完整,為了將您的損失在第一時間減小至最低,Windows于是忍痛做出了自我犧牲。
當系統(tǒng)檢測到引發(fā)崩潰的致命錯誤時,Windows自己執(zhí)行崩潰函數(shù)“KeBugCheckEx”。該函數(shù)接受一個停止代碼(STOP Code,也稱為錯誤檢查碼“Bug Check Code”),以及四個根據(jù)停止代碼來解釋的參數(shù)(下文中會有圖例)。在調(diào)用KeBugCheckEx之后,首先該系統(tǒng)所有處理器上的所有中斷將被屏蔽,然后系統(tǒng)將顯示器切換到低分辨率的VGA圖形模式(因為這是所有Windows平臺顯卡均支持的通用模式),繪制一個藍色背景,然后顯示此停止代碼,并且后面緊跟一些對用戶診斷錯誤有幫助的關(guān)鍵信息。
最后,KeBugCheckEx調(diào)用所有已注冊的設備驅(qū)動程序錯誤檢查回調(diào)函數(shù)(這種回調(diào)函數(shù)通過調(diào)用KeRegisterBugCheckCallback函數(shù)來注冊),從而讓這些驅(qū)動程序停止運行它們所支配的設備(有系統(tǒng)數(shù)據(jù)結(jié)構(gòu)已經(jīng)被破壞得太嚴重以至于藍屏都顯示不出來的可能性)。
電腦藍屏解決
當電腦出現(xiàn)藍屏時,最簡單的方法就是使用“最后一次正確的配置”來初步修復一下電腦。
當電腦首次出現(xiàn)藍屏時,應當在重啟電腦時,按鍵盤快捷鍵“F8”進入系統(tǒng)啟動菜單中,然后選擇“最后一次正確的配置”來啟動電腦,據(jù)此來修復一下電腦,看問題能否得到有效解決。
另一個有效的解決方法是啟用電腦藍屏修復程序。
打開“運行”對話框,輸入命令“Regedit”進入注冊表程序。
依次展開“HKEY_LOCAL_MACHINE ”→“SYSTEM ”→“CurrentControlSet ”→“Control ”→“SessionManager ”,在右側(cè)找到BootExecute項,雙擊將其值設置為“ autocheck autochk *”。 經(jīng)過這樣設置以后,如果電腦出現(xiàn)藍屏,將會在電腦重啟后自動運行自檢程序,試圖對系統(tǒng)中存在的錯誤進行修復。