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