Вопрос или проблема
У меня есть Dell XPS 15 (L502x) с Windows 7 x64 Home Premium, и у меня проблема с синей экраном смерти (BSOD) при подключении внешнего экрана.
Я попробовал подключить два экрана – один с HDMI > DVI и HDMI > HDMI, а второй с таким же кабелем HDMI > HDMI.
С обоими экранами я получаю BSOD через некоторое время использования (случайный BSOD, может произойти даже при отсутствии взаимодействия с компьютером).
Вот небольшой анализ двух соответствующих дампов, один из которых указывает на проблему с видеокартой nvidia, а второй говорит о проблеме с внутренней картой.
Есть какие-либо идеи, почему это может происходить?
Первый:
НЕОЖИДАННАЯ_ТРЕПЕТА_РЕЖИМ_ЯДРА (7f)
Это означает, что произошла трепета в режиме ядра, и это трепета такого рода,
которую ядро не имеет права иметь/поймать (связанная трепета) или
которая всегда приводит к мгновенной смерти (двойная ошибка). Первое число в
параметрах bugcheck - это номер трепеты (8 = двойная ошибка и т.д.)
Консультируйтесь с руководством по семейству Intel x86, чтобы узнать больше о том, что это
за трепеты. Вот *часть* этих кодов:
Если kv показывает taskGate
используйте .tss на части до двоеточия, затем kv.
Иначе, если kv показывает trapframe
используйте .trap на этом значении
Иначе
.trap на соответствующем фрейме покажет, где была взята трепета
(на x86 это будет ebp, который идет с процедурой KiTrap)
КонецЕсли
kb тогда покажет исправленный стек.
Аргументы:
Arg1: 0000000000000008, ИСКЛЮЧЕНИЕ_ДВОЙНОЙ_ОШИБКИ
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800f22fa3f
Детали отладки:
------------------
ТРЕБОВАНИЕ: Не удалось открыть файл triage : e:\dump_analysis\program\triage\modclass.ini, ошибка 2
BUGCHECK_STR: 0x7f_8
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
ИМЯ_ПРОЦЕССА: System
CURRENT_IRQL: 9
LAST_CONTROL_TRANSFER: от fffff8000308a769 к 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
---------
Второй:
НЕОЖИДАННАЯ_ТРЕПЕТА_РЕЖИМ_ЯДРА (7f)
Это означает, что произошла трепета в режиме ядра, и это трепета такого рода,
которую ядро не имеет права иметь/поймать (связанная трепета) или
которая всегда приводит к мгновенной смерти (двойная ошибка). Первое число в
параметрах bugcheck - это номер трепеты (8 = двойная ошибка и т.д.)
Консультируйтесь с руководством по семейству Intel x86, чтобы узнать больше о том, что это
за трепеты. Вот *часть* этих кодов:
Если kv показывает taskGate
используйте .tss на части до двоеточия, затем kv.
Иначе, если kv показывает trapframe
используйте .trap на этом значении
Иначе
.trap на соответствующем фрейме покажет, где была взята трепета
(на x86 это будет ebp, который идет с процедурой KiTrap)
КонецЕсли
kb тогда покажет исправленный стек.
Аргументы:
Arg1: 0000000000000008, ИСКЛЮЧЕНИЕ_ДВОЙНОЙ_ОШИБКИ
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800591c802
Детали отладки:
------------------
ТРЕБОВАНИЕ: Не удалось открыть файл triage : e:\dump_analysis\program\triage\modclass.ini, ошибка 2
BUGCHECK_STR: 0x7f_8
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
ИМЯ_ПРОЦЕССА: System
CURRENT_IRQL: b
LAST_CONTROL_TRANSFER: от fffff800030cd769 к 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 : 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
---------
Третий:
НЕОЖИДАННАЯ_ТРЕПЕТА_РЕЖИМ_ЯДРА (7f)
Это означает, что произошла трепета в режиме ядра, и это трепета такого рода,
которую ядро не имеет права иметь/поймать (связанная трепета) или
которая всегда приводит к мгновенной смерти (двойная ошибка). Первое число в
параметрах bugcheck - это номер трепеты (8 = двойная ошибка и т.д.)
Консультируйтесь с руководством по семейству Intel x86, чтобы узнать больше о том, что это
за трепеты. Вот *часть* этих кодов:
Если kv показывает taskGate
используйте .tss на части до двоеточия, затем kv.
Иначе, если kv показывает trapframe
используйте .trap на этом значении
Иначе
.trap на соответствующем фрейме покажет, где была взята трепета
(на x86 это будет ebp, который идет с процедурой KiTrap)
КонецЕсли
kb тогда покажет исправленный стек.
Аргументы:
Arg1: 0000000000000008, ИСКЛЮЧЕНИЕ_ДВОЙНОЙ_ОШИБКИ
Arg2: 0000000080050033
Arg3: 00000000000406f8
Arg4: fffff8800f23b837
Детали отладки:
------------------
ТРЕБОВАНИЕ: Не удалось открыть файл triage : e:\dump_analysis\program\triage\modclass.ini, ошибка 2
BUGCHECK_STR: 0x7f_8
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT
ИМЯ_ПРОЦЕССА: System
CURRENT_IRQL: 9
LAST_CONTROL_TRANSFER: от fffff8000329c769 к 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
---------
Вы используете два монитора, подключая один к видеокарте nvidia, а другой к интегрированному видеопорту материнской платы? Я думаю, что два устройства могут конфликтовать с точки зрения аппаратного обеспечения или программного обеспечения, трудно определить. Вам, возможно, стоит просто купить отдельную видеокарту, которая изначально поддерживает два монитора, вместо того чтобы пытаться заставить ваш интегрированный видеочип работать с вашей видеокартой nvidia.
В комментариях вы говорите, что оба монитора могут отображаться с использованием графической карты NVIDIA вашего ноутбука.
Какие графические адаптеры отображаются в Диспетчере устройств с использованием Управления компьютером? Посмотрите на мой пример ниже.
Если оба монитора могут управляться адаптером NVIDIA, я бы отключил адаптер Intel, если он отображается как активный в вашей системе.
Ответ или решение
Причины появления BSOD при использовании HDMI на Dell XPS 15
Описание проблемы
Вы указали, что на вашем ноутбуке Dell XPS 15 (L502x), работающем под управлением Windows 7 x64 Home Premium, происходит ошибка BSOD (синий экран смерти) при подключении внешнего дисплея через HDMI. Проблема возникает как при использовании кабеля HDMI > DVI, так и HDMI > HDMI. Ошибка может проявляться в любое время, даже когда вы не взаимодействуете с компьютером.
Анализ дампов, которые вы предоставили, показывает, что проблема может быть связана как с графическим процессором NVIDIA, так и с интегрированной видеокартой Intel.
Анализ дампов и возможные причины
Из предоставленных вами дампов можно выделить несколько ключевых моментов:
-
Ошибка UNEXPECTED_KERNEL_MODE_TRAP (7f):
- Это означает, что в режиме ядра произошла ошибка, которую система не может обработать надлежащим образом. Часто это связано с проблемами драйверов.
- Первые параметры, которые вы видите (Arg1: 0000000000000008), указывают на EXCEPTION_DOUBLE_FAULT, что может говорить о том, что ошибка была вызвана некой двойной ошибкой при обработке прерываний.
-
Модули, упомянутые в дампах:
- В первом дампе ошибка связана с
nvlddmkm.sys
, драйвером NVIDIA. - Во втором дампе упоминается
igdkmd64.sys
, что означает, что проблема связана с драйвером Intel Graphics.
- В первом дампе ошибка связана с
Как видно из анализа, конфликты между этими двумя драйверами могут быть одной из причин, приводящих к BSOD при подключении внешних мониторов через HDMI. Особенно это может произойти, если задействованы оба графических адаптера одновременно.
Рекомендации по устранению проблемы
-
Обновление драйверов:
- Убедитесь, что у вас установлены последние версии драйверов как для NVIDIA, так и для Intel Graphics. Их можно скачать с официальных сайтов производителей.
- После обновления драйверов желательно выполнить перезагрузку системы.
-
Отключение интегрированной графики:
- Если вы используете только NVIDIA картой, возможно, стоит отключить интегрированную видеокарту Intel в диспетчере устройств. Это поможет избежать конфликтов между двумя графическими адаптерами.
-
Проверка настроек BIOS:
- Проверьте, есть ли в BIOS настройки, связанные с выбором графического адаптера (дискретный против интегрированного). Если такая возможность имеется, установите там предпочтение на использование только дискретной графики.
-
Тестирование с одной видеокартой:
- Попробуйте подключать внешний дисплей, используя только один адаптер (например, отключите интегрированное видео в BIOS и используйте только NVIDIA или наоборот). Это поможет определить, есть ли конфликт при использовании двух адаптеров.
-
Проверка оборудования:
- Если описанные выше решения не помогают, возможно, стоит протестировать аппаратное обеспечение. Проверьте, нет ли проблем с самим HDMI-кабелем или портами подключения на мониторе.
Вывод
Ошибка BSOD при использовании HDMI на вашем Dell XPS 15 может быть связана с конфликтами драйверов графических адаптеров или неправильной настройкой аппаратного обеспечения. Убедившись в актуальности драйверов и проведя соответствующие настройки, вы сможете устранить данную проблему. При необходимости, не стесняйтесь обратиться за дополнительной технической поддержкой.