在过去的两年里,我在 Win7 上遇到了 ATI 驱动程序问题。据我所知,这是由 ATI 驱动程序引起的。我有 AMD Radeon Sapphire HD 7750 Ultimate Edition 128 位 1GB DDR5 显卡。
过去两年来,我每个月都会遇到几次 BSOD。这个问题在至少两三个版本的 ATI 驱动程序中仍然存在。
在 Google 搜索结果中,有很多人遇到了 BSOD 和 atikmdag.sys 问题,也有很多不同的解决方案,但到目前为止,我所做的都没有任何帮助。
我尝试过的:
- 重新安装 ATI 驱动程序;这似乎是最常见的建议。我尝试过最新的 ATI 驱动程序、清理旧 ATI 驱动程序后的最新 ATI 驱动程序、Windows 驱动程序、多个版本的 ATI 驱动程序、第三方驱动程序。
- 禁用 Flash 中的硬件加速(但当发生这种情况时,Flash 似乎不相关甚至不运行)。
- 安装所有 Windows 更新。
- 重新安装 Windows。
- 因为这是三显示器设置;尝试仅使用两个显示器,仅使用一个显示器;不使用 HDMI 端口。
- 更换内存。
- 更换显卡。
- 祈祷。
我还没尝试过的:
- 不同的主板。
- 不同的操作系统(似乎运行 Linux 不会出现同样的问题,但我没有在 Linux 上运行超过一两天的时间,因此无法确定这一点)。
Minidump 可以下载这里,我将 WinDbg 的输出粘贴在下面:
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Windows\Minidump\062315-13962-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: srv*
Executable search path is:
Windows 7 Kernel Version 7601 (Service Pack 1) MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7601.18869.amd64fre.win7sp1_gdr.150525-0603
Machine Name:
Kernel base = 0xfffff800`02a57000 PsLoadedModuleList = 0xfffff800`02c9e730
Debug session time: Tue Jun 23 17:03:29.242 2015 (UTC + 2:00)
System Uptime: 1 days 22:24:12.302
Loading Kernel Symbols
...............................................................
................................................................
.............................
Loading User Symbols
Loading unloaded module list
.........
Unable to load image atikmdag.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for atikmdag.sys
*** ERROR: Module load completed but symbols could not be loaded for atikmdag.sys
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
Use !analyze -v to get detailed debugging information.
BugCheck 1000007E, {ffffffffc0000005, fffff8800f2d4160, fffff88003ec3e88, fffff88003ec36e0}
Probably caused by : atikmdag.sys ( atikmdag+cd160 )
Followup: MachineOwner
---------
2: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M (1000007e)
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: ffffffffc0000005, The exception code that was not handled
Arg2: fffff8800f2d4160, The address that the exception occurred at
Arg3: fffff88003ec3e88, Exception Record Address
Arg4: fffff88003ec36e0, Context Record Address
Debugging Details:
------------------
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
FAULTING_IP:
atikmdag+cd160
fffff880`0f2d4160 488b4130 mov rax,qword ptr [rcx+30h]
EXCEPTION_RECORD: fffff88003ec3e88 -- (.exr 0xfffff88003ec3e88)
ExceptionAddress: fffff8800f2d4160 (atikmdag+0x00000000000cd160)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000000
Parameter[1]: 0000000000000030
Attempt to read from address 0000000000000030
CONTEXT: fffff88003ec36e0 -- (.cxr 0xfffff88003ec36e0)
rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000000
rdx=fffffa8009c467e0 rsi=fffff8a010983708 rdi=0000000000000001
rip=fffff8800f2d4160 rsp=fffff88003ec40c8 rbp=fffffa800a91e318
r8=0000000000040000 r9=0000000000000001 r10=fffff80002a57000
r11=fffff88003ec3ff0 r12=fffffa800b3dd010 r13=0000000000000000
r14=fffffa800a665a01 r15=0000000000000000
iopl=0 nv up ei ng nz na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010286
atikmdag+0xcd160:
fffff880`0f2d4160 488b4130 mov rax,qword ptr [rcx+30h] ds:002b:00000000`00000030=????????????????
Resetting default scope
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: System
CURRENT_IRQL: 0
ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
EXCEPTION_PARAMETER1: 0000000000000000
EXCEPTION_PARAMETER2: 0000000000000030
READ_ADDRESS: GetPointerFromAddress: unable to read from fffff80002d08100
0000000000000030
FOLLOWUP_IP:
atikmdag+cd160
fffff880`0f2d4160 488b4130 mov rax,qword ptr [rcx+30h]
BUGCHECK_STR: 0x7E
DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE
LAST_CONTROL_TRANSFER: from fffff8800f33d539 to fffff8800f2d4160
STACK_TEXT:
fffff880`03ec40c8 fffff880`0f33d539 : 00000000`00000000 fffffa80`0a91e318 00000000`00000000 fffff8a0`0d075198 : atikmdag+0xcd160
fffff880`03ec40d0 00000000`00000000 : fffffa80`0a91e318 00000000`00000000 fffff8a0`0d075198 000000f4`10008000 : atikmdag+0x136539
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: atikmdag+cd160
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: atikmdag
IMAGE_NAME: atikmdag.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 546ea3c3
STACK_COMMAND: .cxr 0xfffff88003ec36e0 ; kb
FAILURE_BUCKET_ID: X64_0x7E_atikmdag+cd160
BUCKET_ID: X64_0x7E_atikmdag+cd160
Followup: MachineOwner
---------
答案1
您是否尝试过检查系统内存和 SSD/HDD?有时驱动程序可能会因系统内存或磁盘损坏而崩溃
尝试取出一根内存条并更换操作系统驱动器等
还可以尝试运行 GPU-Z,看看它是否过热 http://www.techpowerup.com/gpuz/