一切都很完美;你已升級到了Windows 7。系統打上了全部的補丁,所有驅動(dòng)程序都更新了,安全很到位,說(shuō)不定你甚至還有新硬件……可是同樣的藍屏死機(BSOD)還是在新的高清屏幕上奚落你。
好消息是,你在大多數情況下可以迅速解決這個(gè)問(wèn)題,只要使用Windows調試工具。這個(gè)工具簡(jiǎn)單又免費。
早在Window XP盛行的年代(2005年),我們寫(xiě)了一份教程,介紹如何解決Windows崩潰(《如何在數分鐘內解決Windows系統崩潰》)。這篇是最新版,幫助你成為家里或辦公室解決系統崩潰的高手。
針對不一樣的Windows版本,解決崩潰的方法是否也不一樣?
微軟公司的主要開(kāi)發(fā)負責人Andre Vachon表示,解決系統崩潰的同一種方法適用于許多的Windows版本!拔④沇indows的最新版本使用同樣的操作系統內核,同樣的主界面,驅動(dòng)程序在服務(wù)器和客戶(hù)機上工作,調試器使用同樣的調試文件。此外,我們都使用同樣的代碼庫和源代碼樹(shù)來(lái)編譯32 版本和64位版本!
考慮到這一點(diǎn),為了簡(jiǎn)單起見(jiàn),我會(huì )以Windows 7為例。然而,這些要點(diǎn)不僅適用于其他當前的版本,大部分還適用于像Windows 2000這么久遠的老版本。
Windows 7為什么會(huì )崩潰?
Windows在不斷成熟,隨之變得更穩定。而且,在這款操作系統從16位變成32位,再變成現在64位的過(guò)程中,功能特性也變得更豐富,占用的資源也要多得多——它實(shí)際上更難崩潰。
盡管如此,它的確會(huì )崩潰。然而,這類(lèi)系統故障的原因自XP時(shí)代以來(lái)就沒(méi)有發(fā)生化變化。
Windows采用了一種保護機制,讓多個(gè)應用程序可以同時(shí)運行,又不會(huì )互相干擾。這種機制名為用戶(hù)模式(User Mode)或內核模式(Kernel Mode),最初名叫環(huán)保護(Ring Protection)方案。
內核模式
內核模式(環(huán)0)軟件可以不受限制地全面訪(fǎng)問(wèn)硬件。這種模式下運行的軟件通常最值得信賴(lài),因為它可以執行任何指令,訪(fǎng)問(wèn)系統中的任何地址。內核模式下的崩潰是徹底的系統故障,需要重新啟動(dòng)。你在這里可以找到操作系統的內核代碼和大多數驅動(dòng)程序。

用戶(hù)模式
用戶(hù)模式(環(huán)3)軟件無(wú)法直接訪(fǎng)問(wèn)硬件,也無(wú)法隨意訪(fǎng)問(wèn)任何地址。它必須通過(guò)調用應用編程接口(API),來(lái)傳送指令(可能更準確的說(shuō)法是請求)。這項特性能夠保護系統的整體運行,不管應用程序是進(jìn)行錯誤的調用,還是訪(fǎng)問(wèn)不合適的地址。用戶(hù)模式下的崩潰通常是可以恢復的,需要重新啟動(dòng)應用程序,但不需要重新啟動(dòng)整個(gè)系統。你在這里可以找到在電腦上運行的大多數代碼,包括Word、單人紙牌戲和一些驅動(dòng)程序等。
由于如今大多數軟件在用戶(hù)模式下運行,應用程序破壞系統級軟件,以及破壞其他應用程序的機會(huì )完全變少了?墒,并不保護內核模式軟件不受其他內核模式軟件的影響。比如說(shuō),如果某個(gè)視頻驅動(dòng)程序錯誤地訪(fǎng)問(wèn)了分配給另一個(gè)程序的某部分內存(或者沒(méi)有標為驅動(dòng)程序可以訪(fǎng)問(wèn)的內存),Windows就會(huì )終止整個(gè)系統。這種機制叫作錯誤檢查(Bug Check),眾所周知的藍屏死機就會(huì )顯示。
透過(guò)數字看崩潰原因
雖說(shuō)數字不一樣,但相差不大。如果匯總幾個(gè)來(lái)源報告的數據(包括本人自己20年來(lái)在預防和解決崩潰方面的經(jīng)驗數據),一個(gè)趨勢浮出水面:大約70%的Windows系統崩潰是由內核模式下運行的第三方驅動(dòng)程序引起的;15%是由未知因素引起的;10%是由有缺陷的硬件(其中一半多歸咎于不良內存)引起的,只有約5%是由有缺陷的微軟代碼引起的。

并不廣為人知的重要一點(diǎn)是,大多數崩潰是重復性崩潰。之所以這樣,是因為大多數管理員都無(wú)法立即解決系統崩潰。因而遺憾的是,那些崩潰往往一再發(fā)生。這些事件在得到解決之前,多半會(huì )在幾星期內、許多情況下會(huì )在幾個(gè)月內重復發(fā)生。當崩潰首次出現時(shí),如果使用本文介紹的方法來(lái)解決,就能防止崩潰以后多次出現。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/