藍屏死機
Windows操作系統的故障
藍屏死機,是指微軟Windows操作系統在無法從一個系統錯誤中恢復過來時所顯示的藍底白字的屏幕圖像。
Windows中有兩個藍底白字圖像都被稱為藍屏死機:一種是Windows 9x操作系統發生小故障,一種是Windows NT發生內核錯誤。由於Windows 9x已退出歷史舞台,所以現在一般指後者。
藍屏死機(英語:Blue Screen of Death,縮寫為: BSoD)指的是微軟Windows操作系統在無法從一個系統錯誤中恢復過來時所顯示的屏幕圖像。Windows中有兩個圖像都被稱為藍屏死機,其中一個藍屏原因是WINDOWS NT 內核出現無法修復的巨大錯誤或者WINDOWSX9操作系統的小錯誤需要報錯
一個“真正的”死機畫面只在Windows NT的系統內核無法修復錯誤時出現,此時用戶所能做的唯一一件事就是重新啟動操作系統,這將丟失所有未儲存的工作,還有可能破壞文件系統的穩定性。藍屏死機的畫面上所顯示的信息會有調試碼,例如STOP: 0x0000004e,以及其簡短的錯誤信息,用戶可以在微軟的技術支持網站搜索此調試碼出現時可能是什麼原因。但有時錯誤碼並不能讓用戶很快的找到導致藍屏死機的原因,反而會誤導用戶,因此可能要以試誤法(trial and error)才能找出原因。藍屏死機一般只在Windows遇到一個很嚴重的錯誤時才出現。該版本的藍屏死機出現在Windows NT以及基於Windows NT的後續版本,例如Windows 2000與Windows XP中。
Windows 9x/ME發生之藍屏死機允許用戶選擇繼續或者重新啟動。但是,VxD一般不隨便顯示藍屏死機──它們一般只在一個不通過重新啟動就無法修復的錯誤發生時才顯示藍屏死機,因此當藍屏死機顯示時,系統已經不穩定或死機。
藍屏死機出現的最常見原因是DLL地獄,意即同一個DLL的多個版本造成的不兼容。當應用程序需要使用這些DLL時,Windows將它們載入內存;如果替換了DLL,下一次應用程序載入DLL時它可能不是該應用程序所希望的版本。這種不兼容性隨著安裝更多的新軟體而增加,這也是為什麼一個新安裝的Windows往往比安裝運行一段時期后的Windows更加穩定之主要原因。另一個重要的原因就是硬體問題,例如硬體過熱、超頻使用、硬體的電子零件損壞(例如電容器的電解液流出損壞)及BIOS設置錯誤或其代碼有錯誤等都可能導致藍屏死機。
不同版本Windows發生之藍屏
在Windows XP中,程序發生較小問題時不會出現藍屏死機,而只會出現“程序發生錯誤”屏幕。圖為在香港維多利亞公園的一個LED屏幕上顯示的錯誤信息
默認情況下,藍屏死機的顯示是藍(0x01或#0000AA)底白(0x0F或#FFFFFF)字。顯示的信息包括了當前的內存值以及寄存器值。微軟公司還很有幽默感地加入了一個可以讓用戶自行修改藍屏死機的設置的工具system.ini。
藍屏死機已經極少出現在Windows NT,2000和XP。當在較輕微的軟體錯誤出現時,雖然程序依然可能崩潰,但由於新系統中更好的內存管理,類似錯誤並不會損害到整個操作系統。在這些系統中,“真正的”藍屏死機只在整個操作系統崩潰時才會出現。
藍屏死機最早出現在Windows 2.0中。另外,在微軟遊戲主機 XBOX 出現的畫面不是藍色,而是綠色。而在XP/Vista/7中,存在一種比藍屏更嚴重的紅屏死機,常見於驅動程序故障。