如何解决系统蓝屏

来源:互联网 发布:阿里云代理商查询 编辑:程序博客网 时间:2024/05/04 07:43
最近虚拟机里面的winxp老是重启,相当郁闷,工作相当不方便。实在忍无可忍,解决其bug!
分几步骤:

1. 制造蓝屏
虚拟机里winxp老重启,但是,有时候蓝屏会提示一些信息。所以,我们在winxp刚启动的时候,按F8,选“禁用系统失败时自动重新启动”

2. 启动系统,等待蓝屏
蓝屏不需要什么特别的触发,有时候一开机就蓝屏,有时候很久才蓝屏。一旦出现蓝屏。观察蓝屏,发现蓝屏显示:
stop: 0x0000008E (0xC0000005, 0x3D7BB1CE, 0xF4762BF0, 0x00000000) 
其它信息一点没有用,也没有碰上提示说哪个文件引起问题的有效提示。
google搜索,也仅仅知道0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED 问题处在系统,可能是驱动方面。
这样,我想起我就是在安装了农行的网银后才频繁重启的,但是,问题还是没能够解决。

3. 寻找coredump.
我的电脑,右键点击管理->系统工具->事件查看器->系统看看有没有一个 来源为"Save dump"的记录,点击它,显示:
事件类型: 信息
事件来源: Save Dump
事件种类: 无
事件 ID: 1001
日期: 2012-3-11
事件: 13:19:12
用户: N/A
计算机: WINCORE
描述:
计算机已经从检测错误后重新启动。检测错误: 0x1000008e (0xc0000005, 0x3d7bb1ce, 0xf7db2c10, 0x00000000)。 已将转储的数据保存在: C:\WINDOWS\Minidump\Mini031112-08.dmp。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

显然跟蓝屏信息不谋而合,而且还提示coredump保存在: C:\WINDOWS\Minidump\Mini031112-08.dmp

4. windbg找出真凶。
网页上介绍的方法: 
如何用WinDbg分析minidump文件——REQ对于minidump文件的分析工具I386kd.exe
参考链接:http://bbs.et8.net/bbs/showthread.php?t=783698 
下载windbg(windows xp):http://public.hshh.org/SysTools/debug/dbg_x86_6.6.07.5.exe
{

我说下debug方法
1. 我的电脑,属性->高级->启动,最下面的内存调试选最后一项的全部,确定后重新启动
2. 蓝屏后不要急着重启,系统会保存整个内存内容,然后会自动重启
3. 重启后,windows目录会多出 MEMORY.DMP, 如果1步骤选完全调试,那么这个文件和你的内存一样大
4. 下载安装windwos 的 debug tools, 我这有下载地址,或微软网站
    http://public.hshh.org/SysTools/debug/dbg_x86_6.6.07.5.exe
5. 安装后创建一个临时目录,例如 c:\temp
6. 启动 windbg
7. windbg界面: file->symbol file path (ctrl+s) 输入:
   SRV*c:\temp*http://msdl.microsoft.com/download/symbols
   然后确定
8. windbg界面: file->open crash dump(ctrl+d),打开windows目录下面的 memory.dmp
9. 打开后,等待提示
   当出现 Use !analyze -v to get detailed debugging information. 字样后,在下面输入框
   !analyze -v
10. 等待分析完毕,可以知道什么导致的出错
11. windbg使用中需要网上下载调试内容,这个速度嘛,取决于你的网络了。

这个是我最近因为换显卡驱动导致的当机,可以看出是ati3duag.dll导致的问题。

}

我的方法和上面基本一样,除了1,2,3部分我没有,因为我不需要整个内存内容,仅仅需要小一点的Minidump
就可以分析知道问题原因了。还有第8步变成:
"8.file->open crash dump(ctrl+d),打开C:\WINDOWS\Minidump\Mini031112-05.dmp。"

最后得出一个提示:
Probably caused by : PECKP.SYS ( PECKP+5e6a )

google搜索,果然,PECKP.SYS就是网银造成的。参看网络建议,直接删除
文件C:\WINDOWS\system32\drivers\PECKP.SYS,起码保证不用蓝屏。
后面如果有什么问题,比如说网银不能用了,那后面遇到了再解决。


本文总结:抛砖引玉,让我们知道系统蓝屏了,怎么迅速定位问题所在。

附上本人windbg 分析信息
Microsoft (R) Windows Debugger  Version 6.6.0007.5
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [O:\Minidump\Mini031112-05.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: SRV*c:\temp*http://msdl.microsoft.com/download/symbols
Executable search path is: 
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.100427-1647
Kernel base = 0x804d8000 PsLoadedModuleList = 0x8055b6a0
Debug session time: Sun Mar 11 12:17:23.459 2012 (GMT+8)
System Uptime: 0 days 0:05:41.631
Loading Kernel Symbols
.....................................................................................................................
Loading User Symbols
Loading unloaded module list
.............
Unable to load image PECKP.SYS, Win32 error 2
*** WARNING: Unable to verify timestamp for PECKP.SYS
*** ERROR: Module load completed but symbols could not be loaded for PECKP.SYS
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 1000008E, {c0000005, 3d7bb1ce, f4762bf0, 0}

Unable to load image Hookport.sys, Win32 error 2
*** WARNING: Unable to verify timestamp for Hookport.sys
*** ERROR: Module load completed but symbols could not be loaded for Hookport.sys
Probably caused by : PECKPPECKP.SYS ( PECKP+5e6a )

Followup: MachineOwner
---------

kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
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.
Some common problems are exception code 0x80000003.  This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG.  This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but ...
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG.  This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 3d7bb1ce, The address that the exception occurred at
Arg3: f4762bf0, Trap Frame
Arg4: 00000000

Debugging Details:
------------------


EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0xlx"

FAULTING_IP: 
+3d7bb1ce
3d7bb1ce ??              ???

TRAP_FRAME:  f4762bf0 -- (.trap fffffffff4762bf0)
ErrCode = 00000000
eax=f498fea8 ebx=f7913c40 ecx=122ce121 edx=0012f7b0 esi=0012f7c0 edi=c0000503
eip=3d7bb1ce esp=f4762c64 ebp=f4762c88 iopl=0         nv up ei ng nz na po nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010282
3d7bb1ce ??              ???
Resetting default scope

CUSTOMER_CRASH_COUNT:  5

DEFAULT_BUCKET_ID:  COMMON_SYSTEM_FAULT

BUGCHECK_STR:  0x8E

PROCESS_NAME:  360tray.exe

LAST_CONTROL_TRANSFER:  from f498fe6a to 3d7bb1ce

STACK_TEXT:  
WARNING: Frame IP not in any known module. Following frames may be wrong.
f4762c60 f498fe6a c0000503 0012f7c0 f7913c40 0x3d7bb1ce
f4762c88 f7913d19 0012f7f4 00000410 0012f7c4 PECKP+0x5e6a
f4762d4c 804df7ec 0012f7f4 00000410 0012f7c4 Hookport+0x4d19
f4762d4c 7c92ebab 0012f7f4 00000410 0012f7c4 nt!KiFastCallEntry+0xf8
0012f7a4 7c92dd87 7c830a4a 0012f7f4 00000410 0x7c92ebab
0012f7e4 02632419 00000410 00000000 00000a38 0x7c92dd87
00000000 00000000 00000000 00000000 00000000 0x2632419


STACK_COMMAND:  kb

FOLLOWUP_IP: 
PECKP+5e6a
f498fe6a 668910          mov     word ptr [eax],dx

SYMBOL_STACK_INDEX:  1

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: PECKP

IMAGE_NAME:  PECKP.SYS

DEBUG_FLR_IMAGE_TIMESTAMP:  4eaa4625

SYMBOL_NAME:  PECKP+5e6a

FAILURE_BUCKET_ID:  0x8E_PECKP+5e6a

BUCKET_ID:  0x8E_PECKP+5e6a

Followup: MachineOwner
---------

kd> lmvm PECKP
start    end        module name
f498a000 f49fa000   PECKP    T (no symbols)           
    Loaded symbol image file: PECKP.SYS
    Image path: PECKP.SYS
    Image name: PECKP.SYS
    Timestamp:        Fri Oct 28 14:05:25 2011 (4EAA4625)
    CheckSum:         00045A18
    ImageSize:        00070000
    Translations:     0000.04b0 0000.04e0 0409.04b0 0409.04e0
原创粉丝点击