[Windows] 找出 BAD_SYSTEM_CONFIG_INFO (0x74) 的 BSOD 原因
最近專案的 Windows 機器又遇上了莫名的藍色死亡螢幕 (BSOD):
這次的死亡代號是 0x74,
這跟之前 Windows 7 遇到 BAD_SYSTEM_CONFIG_INFO (74) 的 BSOD 是一樣的,
不過當初沒找出原因,這次有成功找到原因了~
如果看微軟文件關於 BAD_SYSTEM_CONFIG_INFO 的敘述的話,
它代表的是登錄檔 (registry) 有問題,
可能是有損壞、不正確、或是缺少 registry key 的狀況…
也因此,我一開始是著重在找尋哪個 registry key 造成了 BSOD。
藉由比對之前運作正常的 Windows、與做了某些操作後 BSOD 的 Windows registry,
發現 registry 修改了許多地方,
然而,就算把運作正常的 Windows registry 匯入,也沒辦法解決 BSOD 的問題…
回過頭來重新研究 0x74 這個死亡代號,
文件中說 BSOD 畫面中的第 4 個參數代表 NTSTATUS,
也就是讀取 registry key 失敗的原因代號。
在本例中,它的值是 0xC000009A (STATUS_INSUFFICIENT_RESOURCES)~
藉由資源不足這個提示,檢查了一下發生 BSOD 的虛擬機器,
發現它的記憶體只配置了 192 MB!!
試著把記憶體調大之後,BSOD 消失了…
至於記憶體只配置 192 MB 的原因,後來查出來是專案程式的問題。
這次解決 BSOD 的問題,花了非常多的時間,
而有許多時間也是在找冤枉路,例如花一兩天試著匯入 registry 作比較…
之後應該還是先確認 BSOD 畫面中四個參數的意義,
有可能問題可以更快解決喔~
(本頁面已被瀏覽過 1,720 次)