close


 

=================================================================

 

[轉帖]Windows XP 0x0000007E未知原因藍屏的處理

ji4j4ttp://bbs.winos.cn/viewthread.php?tid=841

新的兼容機做系統,用以前精心做好的XP系統克隆,死活藍屏。 今天想修復安裝一下,結果還是不行。出錯 STOP 0x0000007E 沒有指出詳細模組,但安全模式能進。
排除了記憶體原因,基本就是驅動問題。 於是卸載驅動,停服務,刪檔,看日誌...均告敗。
從下午折騰到晚上。
換了1台機子、查資料最後找windbg ,升級 ,找symbols,找com對接線 最後終於搞定。
鬧了半天是處理器驅動搞怪!ft 一直以為是主板或者顯卡驅動問題...

----------

藍屏的原因基本介紹我就不說了,下面總結一下這次藍屏情況的處理:

微軟對0x0000007E解釋的原因有這幾種:

如果在 Windows 安裝過程中第一次重新啟動後或在安裝完成後出現此問題,則可能是電腦沒有足夠的硬碟空間來運行 Windows
如果在 Windows 安裝過程中第一次重新啟動後或在安裝完成後出現此問題,可能是電腦的 BIOS Windows 不相容。
視頻適配器驅動程式不相容。
• RAM
已損壞。
設備驅動程式或系統服務損壞。
如果問題與 Win32k.sys 文件相關聯,則此問題可能是由第三方遠端控制程式導致的。

1
首先 排除硬體原因: 換記憶體,不超頻,如果有一樣的機子可以換著試一下...
2
排除顯卡問題: 由於這個是集成顯卡,新裝的XP是可以用的,所以只能懷疑驅動。 進安全模式卸載顯卡驅動,甚至刪除以前的顯卡驅動程式檔

3
排除主板驅動問題: 進安全模式,卸載所有系統相關的驅動...
4
關閉系統服務: 可以在安全模式下面使用msconfig關閉,或者在系統恢復控制臺中使用listsvcdisable來關閉服務


5
均不湊效的情況下,只能做系統調試試試了。

總結Windbg確定藍屏原因的步驟:
準備: WindbgSymbols FileCom對接線。
藍屏情況一般使用Windbg來調試,WindbgDebuging Tools for Windows ,微軟出的調試工具。
Windbg
可從http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx 下載。目前最新版本是6.5.003.7
調試需要使用對應Windows的符號檔,這個也在上面位址下載。一百多兆,要有點耐心。


Windbg
類似於SoftICE非常強大,但這次我們使用的非常簡單。
由於藍屏機器無回應,我們只能通過另外一台電腦進行調試。
準備一根Com對接線,就是兩個頭都是母頭的RS232線,用來連接兩台電腦的Com口。 如果找不到,可以使用兩個DB9-RJ45的轉換頭,中間使用雙絞線全反連接(就是1-8對應對面的8-1)。這個做網路的用的比較多。

第一步:東西準備好後,在正常的電腦上安裝 WindbgWindows XP SP2(和藍屏機器系統對應)的符號檔(Symbols),注意要在windbgFile功能表下面配置Symbols Path,要到具體pdb檔目錄,比如“C:\XPSymbols\sysC:\XPSymbols\dll要把常用的檔dll,sys,exe等都加上去。然後使用Com對接線將兩台電腦的Com1口連接起來。
第二步: 修改藍屏機子的啟動檔boot.ini 在啟動參數中加入 /debug /debugport=com1 /baudrate=115200
比如:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional " /fastdetect /NoExecute=OptIn /debug /debugport=com1 /baudrate=115200
第三步: 在調試機上命令提示符下進入Windbg安裝目錄,鍵入 “windbg -k comort=com1,baud= 115200 ”,啟動Windbg 或者建立快捷方式將後面的參數帶進去。

正常情況下藍屏機器開始啟動WindowsWindbg就會有顯示。

Windbg
很聰明,一啟動,就直接告訴你機器出現系統Exception(資訊當時沒有拷貝),symbols配好了以後, 起來就提示“Probably caused by : intelppm.sys ( intelppm!ReadMSR+c )”
鬧了半天是處理器驅動搞怪!

第四步: 進一步使用 analyze –v來分析。 這是分析藍屏最直接的命令。
analyze -v
結果

[code: 4096f db 5c 0]kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: fac41750, The address that the exception occurred at
Arg3: fafb4430, Exception Record Address
Arg4: fafb 412c , Context Record Address


FAULTING_MODULE: 804d8000 nt
DEBUG_FLR_IMAGE_TIMESTAMP:  41107b37
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x% 08l x"
FAULTING_IP:
intelppm!ReadMSR+c
fac41750 0f 32             rdmsr
EXCEPTION_RECORD:  fafb4430 -- (.exr fffffffffafb4430)
ExceptionAddress: fac41750 (intelppm!ReadMSR+0x 0000000c )
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 0
CONTEXT:  fafb 412c -- (.cxr fffffffffafb 412c )
eax= 00000f 00 ebx=00000000 ecx= 0000002c edx=00000000 esi=00000000 edi=00000001
eip=fac41750 esp=fafb 44f 8 ebp=fafb4500 iopl=0         nv up ei pl zr na po nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246
intelppm!ReadMSR+0xc:
fac41750 0f 32             rdmsr
Resetting default scope
DEFAULT_BUCKET_ID:  DRIVER_FAULT
BUGCHECK_STR:  0x7E
LAST_CONTROL_TRANSFER:  from fac 413f 6 to fac41750
STACK_TEXT:  
fafb 4500 f ac 413f 6 0000002c 00000f 00 00000f 00 intelppm!ReadMSR+0xc
fafb 4514 f ac41469 00020f c2 078bfbff fafb4570 intelppm!IsP4ProcSpeedStepCapable+0xe
fafb 4524 f ac 414a 1 f ac43db 1 f ac 43c 94 00000001 intelppm!IsProcPStateCapable+0x
41
f afb 4528 f ac43db 1 f ac 43c 94 00000001 f ac46b 1c intelppm!ValidateProcessorCapabilities+0x
5
f afb 4534 f ac46b 1c fac439e 0 f fbc5820 e195b382 intelppm!InitializeDriver+0x2b
fafb4570 80576548 f fbc 5820 f ec73000 e18e 2a 80 intelppm!DriverEntry+0x 18c
WARNING: Stack unwind information not available. Following frames may be wrong.
fafb4640 80689770 00000a e0 00000001 00000000 nt!NtWriteFile+0x 44a
8
f afb 469c 80686a d9 00043000 00000000 00000000 nt!IoReportHalResourceUsage+0x 172a
fafb 483c 80684edd 80084000 00000000 8130c b28 nt!NlsOemLeadByteInfo+0x 15c 5d
fafb4dac 805c 5a 06 80084000 00000000 00000000 nt!NlsOemLeadByteInfo+0x
14061
f afb4ddc 80541f a2 80684528 80084000 00000000 nt!PsRemoveCreateThreadNotifyRoutine+0x21e
00000000 00000000 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x 5a 2

FOLLOWUP_IP:
intelppm!ReadMSR+c
fac41750 0f 32             rdmsr
SYMBOL_STACK_INDEX:  0
FOLLOWUP_NAME:  MachineOwner
SYMBOL_NAME:  intelppm!ReadMSR+c
MODULE_NAME:  intelppm
IMAGE_NAME:  intelppm.sys
STACK_COMMAND:  .cxr fffffffffafb 412c ; kb
BUCKET_ID:  WRONG_SYMBOLS
Followup: MachineOwner[/code: 4096f db 5c 0]
我們可以通過當前異常所在的模組看到是哪個驅動引起的異常。Stack可以看出來調用情況。 這裏面可以清楚地看出來是ReadMSR指令引起的異常,是Intelppm.sys文件。 查這個檔的屬性,知道這是Intel處理器的驅動。 兼容機是SempronCPU,當然不支援MSR的指令了! 折騰了半天居然是這個低級錯誤
第五步:修復起來就出奇地簡單了,把Intelppm.sys改名或者刪除都可以。重起,一切正常!


總結
Windows
藍屏目前出的不多了,但是個別時候碰見也的確是非常讓人心煩。確定藍屏的原因對於解決非常重要。 在不能簡單確定原因的情況下,就需要用到系統調試功能了。這個工作使用Windbg最合適不過了。
上面說了一下未知異常0x0000007E藍屏的處理以及Windbg來確定原因的步驟,希望對大家有所啟發.

URL:
https://www.d4e.org/showthread.php?t=80799

 

搜索是最好的老師,請善用搜索

 

===============================================================

 

藍屏0x0000007e 代碼的解決方法

http://www.eryi.org/blog/post/blue-screen-error.html

在用Ghost 的光碟給不同配置的電腦安裝系統的時候,往往會出現0x0000007E 的錯誤提示(至少我已經碰到過幾次這種情況了)。具體症狀如下:
Ghost 完畢,重新啟動進入Windows XP系統時,捲軸畫面出現一會,便出現藍屏提示:STOP0x0000007E……

這時候,通常是由於電腦硬體環境改變,導致原有的系統驅動程式不匹配。解決的方法是重新啟動的時候按F8 進入Windows 高級啟動功能表,選擇進入安全模式。之後,進入設備管理器,將主板驅動,聲音、遊戲與視頻控制器驅動、顯卡驅動程式等全部卸載掉,然後把它們重新安裝過即可。

如果同時還出現某些系統檔不相容的提示(如Win32k.sysportcls.sys等),可以在安全模式下,運行msconfig 命令關閉系統服務。
以下版權聲明必須遵守,轉載時必須以鏈結的形式注明如下資訊:
原載於 散人筆記
原文地址 http://www.eryi.org/blog/post/blue-screen-error.html

arrow
arrow
    全站熱搜

    yech1234 發表在 痞客邦 留言(1) 人氣()