2011-01-23

Vista Blue Screen 的處裡

年一開始,電腦便碰到 Blue Screen 的問題,幾乎每天開機,至少會發生一次,起因可能是 Microsoft Update 新的補釘。我起先找到「Find the cause of a Vista blue screen」這篇文章,尋求發現原因。首先,要下載 Microsoft .NET Framework 4,這是讓 Debugging Tools 執行所需的條件;然後再下載 Debugging Tools,請務必遵照微軟指示,點選套件中、「兩個地方」的 Debugging Tools;最後,再 Windows Update 一次,讓其自動搜尋所需的其他補釘。

其次,在 c:\Windows\Minidump\ 找到含錯誤訊息的檔案,如 Mini011711-01.dmp ,移到你要進行分析的子目錄;

第一階段:

1). 以滑鼠點一下螢幕左下角的「開始 (start)」 → 再點一下「執行 (run)」,在出現的視窗輸入「cmd /d」,按「確定」(見上圖),即出現以下視窗,先 Key in 指令 dir ,檢查 Mini011711-01.dmp 在不在;

2). 輸入 "c:\Program Files\Debugging Tools for Windows (x86)\dumpchk.exe" Mini011711-01.dmp (注意:字母大小寫及符號都要打對),按 enter ,即出現下的結果:


結果是 ntkrnlpa.exe 這個 driver 損壞了。照理說,接下來我應該用 Vista CD 進行修復,可是我沒有,當初跟廠商買這部電腦時、也沒有附上該 CD。所以,我改用 sfc /scannow 指令,進行修復,就在「執行」的視窗內、打入此指令即可。

這個指令的作用是:
掃描所有保護的系統檔案以及以正確的 Microsoft 版本替換不正確的版本。

執行 sfc /scannow 這個指令時,沒有出現任何警告。

這樣處理後,一直到今天 (快滿一個星期),也沒有再碰到 Blue Screen 的問題。


P.S.

後來發現微軟有一 Vista Driver Verifier 的功能,可以進行壓力測試、確認先前 Debugging Tools 所發現的 ntkrnlpa.exe 是否真為引起 Blue Screen 的原因:

第二階段:
(此法需要「重新開機」才能啟動或取消此功能,微軟還有提供不用「重新開機」的方式,請看此連結,該法的壓力測試設定在關機後即失效。):

1). 以滑鼠點一下螢幕左下角的「開始 (start)」 ,會出現「開始搜尋 (search)」,輸入 verifier 後,會出現下列「驅動程式檢查器管理員」視窗:

2). 先選取「建立標準設定」 → 「下一步」;


3). 再選擇「從清單選取驅動程式名稱」 → 「下一步」;


4). 勾選 ntkrnlpa.exe → 「完成」;


5). 重新開機。這是讓此功能可以在背景、針對 ntkrnlpa.exe 進行壓力測試。幾天內若無 Blue Screen 的發生,即證明不是 ntkrnlpa.exe 的問題;

6a). 最後要記得移除「ntkrnlpa.exe 的壓力測試」設定。即以滑鼠點一下螢幕左下角的「開始 (start)」 ,會出現「開始搜尋 (search)」,輸入 verifier 後,會出現下列「驅動程式檢查器管理員」視窗,改選取「刪除現存的設定」 → 「下一步」;


畫面改變後,按「完成」 → 「重新開機」;


6b). 若又發生 Blue Screen ,則請按照第一階段的方法,讓 Debugging Tools 執行分析。然而這次我電腦的 Debugging Tools 分析,卻呈現是 int15.sys 這個驅動程式有問題。

為了進行 int15.sys 的 壓力測試,請按照第二階段 6a). 的方法,先移除「ntkrnlpa.exe 的壓力測試」設定,接著,再用第二階段 1). ~ 5). 步驟,重新選定 int15.sys 做壓力測試;接著,解除「壓力測試」設定後,再用 Debugging Tools 分析確認。

最後,再根據確認的 driver 進行進一步的檢視。


第三階段:

由於無 Vista CD 可以進行修復,有些病毒可能會感染這些 drivers ,所以先用 Malewarebytes's Anti-Maleware 掃描整個電腦是否中毒 → 無病毒。再用線上病毒掃描器檢視個別 driver 有無被感染:

virscan掃描 INT15.dll → 無感染

Jotti's malware scan
掃描 int15.sys → 無感染

Jotti's malware scan
掃描 ntkrnlpa.exe → 無感染


第四階段:

Blue Screen 的發生,也有可能是由記憶體的損壞而造成。因此,可以使用 Windows Vista 內建的記憶體診斷工具,此工具亦有自動修復的功能,可以找到並標示有問題的記憶體分頁,修復後實際使用的記憶體區塊會減少,但可以避免因記憶體問題造成電腦當機,請按照此連結說明,進行測試。

我的記憶體測試沒有問題。

根據以上諸多測試的結果皆指向 int15.sys 有問題,但此 driver 又未被病毒感染或破壞,由此判斷會產生 Blue Screen 的原因是, Acer eRecovery 無法穩定運作的結果。



0 comments:

張貼留言

由於Google留言系統與Facebook留言系統互相衝突,若先有Google留言,煩請繼續用此系統留言;反之,若先有Facebook留言,請繼續用Facebook留言。

LinkWithin

Related Posts Plugin for WordPress, Blogger...
Real Time Analytics