藍色畫面宕機

藍色畫面宕機（Blue Screen of Death，縮寫為：BSoD）指的是微軟 Windows 作業系統在無法從一個系統錯誤中恢復過來時所顯示的螢幕影像。

當 Windows 9x 出現 BSOD 錯誤時，通常會顯示兩次 BSOD 畫面。

Windows NT 系列（包括 Windows 2000、Windows XP 等）的穩定性高於 Windows 9x，當 Windows NT 出現致命錯誤而必須重新啟動時，會顯示 BSoD 畫面。BSOD 畫面上所顯示的資訊會有偵錯碼，例如：STOP: 0x0000004e，以及其簡短的錯誤訊息，使用者可以在微軟的 技術支援網站 搜尋此偵錯碼出現時可能是什麼原因。但有時錯誤碼並不能讓使用者很快的找到導致藍白當機的原因，反而會誤導使用者，因此可能要以試誤法（trial and error）才能找出原因。

Windows 9x/ME 發生之 BSoD 允許使用者選擇繼續或者重新啟動。但是，VxD 一般不隨便顯示 BSoD──它們一般只在一個不透過重新啟動就無法修復的錯誤發生時才顯示 BSoD，因此當 BSoD 顯示時，系統已經不穩定或宕機。在 Windows 9x 時代，出現藍色畫面的最常見原因是 DLL 地獄，意即同一個 DLL 的多個版本造成的不相容；當應用程式需要使用這些 DLL 時，Windows 將它們載入到記憶體；如果替換了 DLL，下一次應用程式載入 DLL 時它可能不是該應用程式所希望的版本，且這種不相容性隨著安裝更多的新軟體而增加。Windows NT 系列的穩定性明顯優於 Windows 9x，發生藍畫面宕機的機率遠低於 Windows 9x。

歷史

藍色畫面宕機自 Windows 1.0 就已經存在。在 Windows 1.x-2.x 中，當 Windows 發現了版本過高的 DOS 系統時，它將會在繼續啟動前顯示一個藍底白字的介面 “Incorrect DOS version” 和一個列有核心模組及它們各自記憶體地址的列表。不過，這個藍色畫面宕機仍並非真正的系統錯誤；當真正的錯誤發生時，系統反而會鎖死，或直接退出到 DOS。Windows 3.0 中設計了一個專門用來顯示重要系統資訊的對話方塊，這些資訊通常會來自 386 增強模式下的驅動程式，或其他無法正常執行的程式。

在 Windows 3.1 中，這一對話方塊由黑色改為了藍色，並且會在按下 Ctrl+Alt+Del（用於開啟任務管理器）時出現，如果當時沒有無響應的程式。當系統錯誤足夠嚴重時，Windows 3.x 仍然會直接退出到 DOS。

現在通常所說的藍色畫面宕機介面在 Windows NT 3.1（Windows NT 系列的首個系統，釋出於 1993 年）中首次出現，並延續到了之後的所有 Windows 系統中。藍色畫面宕機介面通常由編寫不良的驅動程式或故障的硬體引起，如記憶體故障、供電問題、過熱或超出其規格限制的硬體。在 Windows 9x 的時代，系統核心中不完整的動態連結庫或 bug 也會導致藍色畫面宕機。Windows 9x 相比於後續的 Windows 版本，藍色畫面宕機非常常見。

格式

在 Windows 8 和 Windows Server 2012 之前，藍色畫面宕機都以皇室藍為背景色顯示銀色的文字，這些文字包含了當前記憶體和暫存器的值。Windows Server 2012、Windows 8 和 Windows 10 則使用了蔚藍色作為背景。

Windows 95、98 和 ME 的藍色畫面宕機介面顯示使用了 80×25 的文字模式。Windows NT 系列使用的是 720×400 解析度、80×50 的文字模式。Windows XP、Vista 和 7 的藍色畫面宕機中使用了 Lucida Console 字型。Windows 8、Windows Server 2012 使用 Segoe UI，並使用引導幀緩衝（the boot framebuffer）來顯示內容，在 UEFI 的機器上使用最高的可用圖形輸出協議模式（Graphics Output Protocol mode），在傳統 BIOS 的機器上使用 1024×768（假設顯示器是扁平橫向放置的）或最高的 VESA 基本輸入輸出系統擴充套件模式（如果引導配置資料庫中設定了最高模式，'highestmode'）。Windows 10 版本 1607 以後的藍色畫面宕機介面與 Windows 8 相同，但多了一個通向微軟公司官網的二維碼，網頁主要是微軟公司對藍色畫面宕機原因的群眾調查。

雖然名叫 “藍色畫面宕機”，但在 Windows 9x 時代，藍色畫面畫面的顏色可以由使用者自定義；而在 2016 年 9 月及之後（Build 14997 以上）的 Windows 預覽版本中，藍色畫面宕機變成了深綠色，以方便開發人員快速分辨版本。Windows Insider 內測主管多納・薩爾卡爾稱：“為了更好地區分 Windows Insider 內測使用者與正式版使用者的報告，我們將錯誤檢查頁面的背景（從藍色）換成了綠色。Windows 10 正式版會繼續使用經典的藍色，包括 Windows 10 創意者更新的最終版本。”

Windows NT

在 Windows NT 的系列作業系統中，當核心或者執行在核心模式中的驅動程式發生無法修復的錯誤時，就會發生藍色畫面宕機。此處的藍色畫面宕機官方名稱為停止錯誤（stop error），在 Windows 的軟體開發工具包（SDK）與驅動開發工具包（DDK）文件中也被稱為 “錯誤檢查”（bug check）。它通常是被一般保護錯誤引起的。此時，作業系統能採取的唯一安全手段只有重新啟動電腦；而作為結果，使用者甚至沒有機會來儲存未儲存的資料。

藍色畫面畫面中顯示的文字包括了錯誤碼和它的名稱（如 “0x0000001E, KMODEEXCEPTIONNOT_HANDLED”），並在隨後用括號括住四個與錯誤相關的值以方便維修。根據錯誤的不同，它可能還會顯示問題發生的記憶體地址，以及在該地址下載入的驅動程式。此外，在螢幕的第二和第三部分可能還會分別顯示所有已經載入的驅動程式和堆疊轉儲資訊，而所給的驅動程式資訊分為三列，每一列分別是驅動程式的基地址、驅動程式的建立日期和驅動程式的名稱。

預設情況下，Windows 會在錯誤發生時建立一個記憶體轉儲檔案，根據 Windows 版本的不同它可以小至 64kB（小型轉儲），也可以大至 RAM 的完整複製（完全轉儲）。這個檔案稍後可以使用偵錯程式（一般是 WinDbg）進行除錯。偵錯程式是進行堆疊追蹤所必需的；並且由於藍色畫面中的資訊很有限，可能會造成誤導或隱藏真正的原因，因此確定藍色畫面的真正原因也需要它的參與。

在預設情況下，Windows XP 被配置為只儲存 64kB 的迷你轉儲檔案，然後自動重啟電腦。由於這一過程發生的非常迅速，藍色畫面可能只會一閃而過甚至完全看不到，因此使用者也很容易把它當作電腦隨機重啟的故障，直到重啟完成後 Windows 提示剛剛曾發生過嚴重的錯誤。當然，可以透過關閉控制面板中 “系統屬性 — 高階 — 啟動和故障恢復 — 系統失敗” 中的自動重啟來達到顯示藍色畫面的目的。

Windows 還可以被設定為將除錯資訊即時傳送到在另一臺計算機上執行的核心偵錯程式。如果此時發生了停止錯誤，Windows 將會暫停執行並且中斷偵錯程式，而不是顯示藍色畫面；之後，就可以用偵錯程式檢查記憶體的內容並尋找問題的原因了。

藍色畫面宕機也可能由嚴重的引導載入程式錯誤引起。在該錯誤中，Windows 由於儲存驅動程式錯誤、檔案系統損壞或其他類似的問題而無法訪問引導分割槽。它的錯誤碼是 STOP 0x0000007B (INACCESSIBLEBOOTDEVICE)。在這種情況下，Windows 將不會儲存任何記憶體轉儲檔案。由於此時 Windows 無法從硬碟啟動，因此要想修復這種錯誤就需要使用在 Windows 安裝盤中所附帶的工具。

3.1 細節

在 Windows Server 2012 之前，藍色畫面宕機介面會顯示一個大寫的錯誤名稱（例如 APCINDEXMISMATCH）、一個十六進位制的錯誤碼（如 0x00000001）和四個引數。一般的顯示格式如下：

根據錯誤碼及其性質，引數可能會指出錯誤的原因和 / 或位置。此外，藍色畫面介面上還會顯示四段一般性的解釋與建議，有時也會指出其他的技術資訊，例如出錯檔案的名稱和記憶體地址。

而隨著 Windows Server 2012 的釋出，藍色畫面宕機的介面大幅改動並刪去了以上的所有資訊，只留下了錯誤名稱和一段簡短的描述。Windows 8 加入了一個哭臉的顏文字。不過，十六進位制的錯誤碼和引數仍然能在事件檢視器和記憶體轉儲檔案中被查詢到。從 Windows 10 版本 14393 開始，增加了一個用於快速故障排除的二維碼。

不同版本的 Windows 發生藍色畫面

預設情況下，BSoD 的顯示是藍（0x01 或 #0000AA，Windows 8/10 則是 #2067B2）底白（0x0F 或 #FFFFFF）字。顯示的資訊包括了當前的記憶體值以及暫存器值。

BSoD 已經極少出現在 Windows NT 家族中。當在較輕微的軟體錯誤出現時，雖然程式依然可能崩潰，但由於新系統中更好的記憶體管理，類似錯誤並不會損害到整個作業系統。在這些系統中，“真正的” BSoD 只在整個系統崩潰時才會出現。

BSoD 最早出現在 Windows 1.0 中。另外，在微軟遊戲主機 XBOX 出現的畫面不是藍色，而是綠色。而在 XP/Vista/7 中，存在一種比 BSoD 更嚴重的紅白當機畫面，常見於驅動程式故障。 Windows Insider Preview 有綠屏宕機畫面和藍色畫面宕機畫面。

在中文版本的作業系統中，Windows 3.2 與 Windows 95（不包括 OSR2）中藍色畫面內容為中文，之後版本的藍色畫面均為英文提示，直到 Windows 8 之後才重新換回中文。