我有一台运行 Windows 7 x64 Home Premium 的 Dell XPS 15 (L502x),连接外接屏幕时出现 BSOD 问题。
我尝试连接两个屏幕 - 一个使用 HDMI > DVI 和 HDMI > HDMI,另一个使用相同的 HDMI > HDMI 电缆。
使用一段时间后,两个屏幕都会出现 BSOD(随机 BSOD,即使不与计算机交互时也可能发生)。
这里对两个相关转储进行一些小分析,其中一个指出问题出在 nvidia 显卡上,第二个则说问题出在内部卡上。
对于为什么会发生这种情况有什么想法吗?
第一的:
UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 0000000000000008, EXCEPTION_DOUBLE_FAULT
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800f22fa3f
Debugging Details:
------------------
TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2
BUGCHECK_STR: 0x7f_8
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: 9
LAST_CONTROL_TRANSFER: from fffff8000308a769 to fffff8000308b1c0
STACK_TEXT:
fffff800`00ba4d28 fffff800`0308a769 : 00000000`0000007f 00000000`00000008 00000000`80050033 00000000`000406f8 : nt!KeBugCheckEx
fffff800`00ba4d30 fffff800`03088c32 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff800`00ba4e70 fffff880`0f22fa3f : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiDoubleFaultAbort+0xb2
fffff880`0d12df70 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nvlddmkm+0x1a3a3f
STACK_COMMAND: kb
FOLLOWUP_IP:
nvlddmkm+1a3a3f
fffff880`0f22fa3f ?? ???
SYMBOL_STACK_INDEX: 3
SYMBOL_NAME: nvlddmkm+1a3a3f
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nvlddmkm
IMAGE_NAME: nvlddmkm.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 503f8bb8
FAILURE_BUCKET_ID: X64_0x7f_8_nvlddmkm+1a3a3f
BUCKET_ID: X64_0x7f_8_nvlddmkm+1a3a3f
Followup: MachineOwner
---------
第二:
UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 0000000000000008, EXCEPTION_DOUBLE_FAULT
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800591c802
Debugging Details:
------------------
TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2
BUGCHECK_STR: 0x7f_8
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: b
LAST_CONTROL_TRANSFER: from fffff800030cd769 to fffff800030ce1c0
STACK_TEXT:
fffff800`00ba4d28 fffff800`030cd769 : 00000000`0000007f 00000000`00000008 00000000`80050033 00000000`000406f8 : nt!KeBugCheckEx
fffff800`00ba4d30 fffff800`030cbc32 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff800`00ba4e70 fffff880`0591c802 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiDoubleFaultAbort+0xb2
fffff880`0c780fe0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : igdkmd64+0x2e8802
STACK_COMMAND: kb
FOLLOWUP_IP:
igdkmd64+2e8802
fffff880`0591c802 ?? ???
SYMBOL_STACK_INDEX: 3
SYMBOL_NAME: igdkmd64+2e8802
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: igdkmd64
IMAGE_NAME: igdkmd64.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4d41a3e1
FAILURE_BUCKET_ID: X64_0x7f_8_igdkmd64+2e8802
BUCKET_ID: X64_0x7f_8_igdkmd64+2e8802
Followup: MachineOwner
---------
第三:
UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 0000000000000008, EXCEPTION_DOUBLE_FAULT
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800f23b837
Debugging Details:
------------------
TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2
BUGCHECK_STR: 0x7f_8
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
PROCESS_NAME: System
CURRENT_IRQL: 9
LAST_CONTROL_TRANSFER: from fffff8000329c769 to fffff8000329d1c0
STACK_TEXT:
fffff800`0493dd28 fffff800`0329c769 : 00000000`0000007f 00000000`00000008 00000000`80050033 00000000`000406f8 : nt!KeBugCheckEx
fffff800`0493dd30 fffff800`0329ac32 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff800`0493de70 fffff880`0f23b837 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiDoubleFaultAbort+0xb2
fffff880`0e1bbff0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nvlddmkm+0x19d837
STACK_COMMAND: kb
FOLLOWUP_IP:
nvlddmkm+19d837
fffff880`0f23b837 ?? ???
SYMBOL_STACK_INDEX: 3
SYMBOL_NAME: nvlddmkm+19d837
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nvlddmkm
IMAGE_NAME: nvlddmkm.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 503f8bb8
FAILURE_BUCKET_ID: X64_0x7f_8_nvlddmkm+19d837
BUCKET_ID: X64_0x7f_8_nvlddmkm+19d837
Followup: MachineOwner
---------
答案1
您是否使用两个显示器,其中一个连接到 nvidia 卡,另一个连接到主板集成视频端口?我认为这两个显示器可能在硬件或软件方面存在冲突,很难确定。您可能只想购买一个原生支持两个显示器的独立显卡,而不是尝试让集成视频芯片与 nvidia 卡配合使用。
答案2
在评论中,您说可以使用笔记本电脑的 NVIDIA 显卡显示两个显示器。
使用计算机管理时,设备管理器中会显示哪些显示适配器?请参阅下面的示例。
如果两个显示器都可以由 NVIDIA 适配器驱动,我会禁用英特尔适配器(如果它在您的系统上显示为活动状态)。