AMD ATI 驱动程序 - atikmdag.sys 导致 BSOD

AMD ATI 驱动程序 - atikmdag.sys 导致 BSOD

在过去的两年里,我在 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/

相关内容