Меню
Бесплатно
Главная  /  Программы  /  Диагностика работы драйверов. Как исправить ошибки DRIVER_VERIFIER_DETECTED_VIOLATION типа "синий экран" (0x000000C4) Как найти поврежденные драйвера на виндовс 7

Диагностика работы драйверов. Как исправить ошибки DRIVER_VERIFIER_DETECTED_VIOLATION типа "синий экран" (0x000000C4) Как найти поврежденные драйвера на виндовс 7

Неисправный драйвер может вызвать много проблем в работе компьютера. Главный признак того, что на вашем компьютере есть неисправный драйвер – это синий экран смерти, которые часто вызван отключением драйвера.

В этой статье мы расскажем, как можно найти неисправный драйвер, после чего обновить его или полностью удалить.

Иногда Windows уведомляет пользователя о том, что один из драйверов вышел из строя. Однако, бывает, что система не может обнаружить в чем проблема, поэтому не выдает сообщений об ошибке, из-за чего работает медленнее или не так как требуется. В этом случае Диспетчер проверки драйверов (Driver Verifier) создает дополнительную нагрузку на системные драйверы, тем самым пытается вызвать сбой. Если сбой одного из драйверов произойдет, тогда Диспетчер проверки драйверов сообщит о проблеме с помощью синего экрана.

Предупреждение

Прежде чем использовать Диспетчер проверки драйверов , обратите внимание, что инструмент может ограничить вас от использования вашего собственного компьютера. Поскольку Диспетчер проверки драйверов запускает синий экран смерти, когда обнаруживает неисправный драйвер, это может вызвать большие проблемы при загрузке Windows.

Если у вас не будет возможности попасть в Windows, чтобы отключить тестирование драйверов, компьютер будет работать в цикле «boot -> load -> crash» из которого довольно сложно выйти. Функция Automatic Repair является одним из немногих вариантов получить доступ к Windows, но лучше не допускать такой ситуации.

Перед использованием Driver Verifier убедитесь, что у вас есть хотя бы один из следующих аварийных выходов:

  • Вы можете перейти в безопасный режим. Переход в безопасный режим до начала загрузки Windows обычно выполняется путем многократного нажатия F8 во время загрузки компьютера. Однако, новые компьютеры загружаются так быстро, что вы просто не успеете нажать F8 в нужный момент.
  • Вы создали точку восстановления системы перед использованием Диспетчер проверки драйверов . Также желательно иметь установочный диск Windows, чтобы вы могли восстановить компьютер к заводским настройкам.

Как запустить Диспетчер проверки драйверов

Прежде чем начать инструкцию по использованию Диспетчера проверки драйверов , убедитесь, что вы прочитали раздел «Предупреждение» выше. Там написано как избежать бесконечной загрузки Windows.

Когда вы на сто процентов уверены, что у вас есть аварийный план выхода, нажмите «Windows Key + R » и введите cmd в диалоговом окне «Выполнить », затем нажмите «ОК ».

В командном окне введите:

verifier

Во всплывающем окне выберите «Создать нестандартные параметры (для кода программ) », затем нажмите «Далее ».

Вы увидите список всех тестов, которые вы можете выполнить для проверки драйверов. Выберите все тесты из списка, кроме «Симуляция случайно нехватки ресурсов» и «Дополнительная проверка соответствия требованиям DDI», затем нажмите «Далее ».

На следующем экране выберите «Выбрать названия драйверов из списка » и нажмите «Далее ».

Здесь вы можете выбрать драйверы, которые необходимо протестировать. Если вы не знаете, какой из драйверов работает неисправно, выберите все, кроме Microsoft, потому что они чаще всего работают без ошибок.

Когда вы нажмете «Готово », Windows предложит перезагрузить ПК. После того, как компьютер включится, продолжайте использовать его, как обычно. Если вы получите синий экран, обратите внимание на сообщение об ошибке, и перезагрузите компьютер.

Как только вы узнали неисправный драйвер, вы можете отключить Диспетчер проверки драйверов одним их двух способов. Вы можете заново открыть командную строку, ввести команду verifier , и выбрать «Удалить существующие параметры ».

Также вы можете открыть командную строку и ввести:

Verifier /bootmode resetonbootfail

После отключение диспетчера проверки драйверов, перезагрузите компьютер. Если компьютер не включается, тогда используйте один из аварийных выходов, о которых мы говорили в разделе «Предупреждение».

Вывод

Если вы думаете, что один из драйверов работает неисправно, но не можете выяснить какой именно, тогда Диспетчер проверки драйверов будет отличным помощником.

Тем не менее, вам следует быть готовым к тому, что компьютер не сможет включиться после тестирования драйверов, поэтому продумайте запасной выход с аварийной ситуации, например, перейти в безопасный режим или запустить точку восстановления Windows.

У вас когда-нибудь были проблемы с драйверами на компьютере? Как вам удалось найти неисправный драйвер? Расскажите нам в комментариях ниже!

Утилита Driver Verifier (verifier.exe) предназначена для анализа проблемных драйверов, когда анализ дампов памяти после BSOD не позволяет найти проблемный драйвер. Driver Verifier – это “палочка выручалочка” в наиболее проблемных ситуациях.

С помощью Driver Verifier можно выполнять:

    стресс тест драйвера (имитируются условия нехватки ресурсов);

    контроль переполнения буфера;

    контроль за ошибками, возникающими при неправильной работе при заданном IRQL;

    анализ ошибок ввода-вывода;

    детектирование ситуаций deadlock и т.д.

Утилита Driver Verifier бывает очень полезной когда:

    у администратора (пользователя) есть подозрения, что именно этот драйвер вызывает крах системы и он хочет дополнительно проверить так ли это на самом деле;

    разработчики драйвера, хотят протестировать свой драйвер;

    при анализе дампа после BSOD найти проблемный драйвер нельзя.

Одним из самых непростых случаев анализа дампов памяти является случай, когда драйвер ошибочно перезаписывает данные до начала или за концом буфера, выделенного им. В таких случаях, возникают ошибки в ядре ОС (например, анализ дампа после BSOD показывает, что ошибка возникла в ntoskrnl.exe).

Давайте посмотрим подобный случай на конкретном примере. С помощью утилиты NotMyfault вызываем BSOD — “Buffer overflow”.

Результат анализа дампа с помощью windbg во вложении ниже.

Согласно анализа дампа получаем.

1. Arg1: 00000007, Attempt to free pool which was already freed (была попытка освобождения уже освобожденного пула)

2. IMAGE_NAME: ntkrpamp.exe (отношение к этому имеет само ядро системы)

Именно при подобных ошибках, на помощь приходит verifier.

Запускаем verifier.

Выбираем “Создать не стандартные параметры”. Далее выбираем “Выбрать параметры из списка”.

Выбираем все кроме “Имитация нехватки ресурсов”.

После чего выбираем “Выбрать незагруженные драйверы к этому списку” и указываем путь к драйверу myfault.sys, который находится в том же каталоге, что и программа NotMyfault.exe.

После чего отмечаем драйвер и нажимаем “Готово”. После этого, нам необходимо перегрузить компьютер.

Выполняем все те же действия, что и в начале. Запускаем NotMyfault.exe, выбираем “Buffer overflow” и нажимаем “Crash”. Как вы заметили крах может произойти не сразу, поскольку кто и когда будет пытаться работать с этой памятью неизвестно заранее. Как видим на изображении ниже, благодаря verifier система может определить проблемный драйвер.

Приведу анализ с помощью!analyze –v в windbg.exe дампа памяти после BSOD.

Программа verifier делает так, что проверяемый драйвер вместо обыкновенной памяти доступной в ядре использует специальный пул, предназначенный для определения подобной ошибки. Благодаря этому, можно найти драйвер, который приводит к BSOD.

Если посмотреть результаты анализа то мы видим следующее.

1. DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (d6) – это одна из ошибок, которая генерируется verifier

2. IMAGE_NAME: myfault.sys – драйвер, который привел к проблеме.

Таким образом, если анализ дампа памяти после BSOD не позволяет найти “виновный драйвер” воспользуйтесь программой verifier.exe (установите все проверки, кроме нехватки памяти).

Наиболее простым вариантом использования Driver Verifier (verifier.exe) является его запуск со следующими параметрами:

verifier /standard /driver имя файла драйвера

Post Views: 1 042

8021

О дной из наиболее вероятных причин появления синего экрана смерти являются некорректно работающие драйвера. Установить точную причину сбоя можно проанализировав файл дампа после BSOD , но так бывает не всегда. В некоторых случаях определить источник проблемы не удаётся даже при самом тщательном анализе дампов. В таких ситуациях может помочь - штатная утилита Windows, предназначенная для расширенного тестирования драйверов.

Работая в фоновом режиме, она не только ведёт наблюдение за работой драйверов, но и имитирует различные «стрессовые» ситуации, например, нехватку оперативной памяти. Полученная в ходе тестирования информация «дописывается» в файл дампа DMP . Driver Verifier позволяет анализировать ошибки ввода-вывода, контролировать переполнение буфера, выявлять ошибки в механизме IRQL и т.п. Одним словом, программа позволяет выявить ситуации, при которых драйвер может привести к падению системы с BSOD .

Специфичность утилиты вовсе не исключает её использование обычными юзерами. Создать с её помощью отчёт может каждый, совсем другое дело заниматься его расшифровкой. Но этого от простых пользователей никто не требует, что же касается полученного дампа, то его анализ можно возложить на плечи профессионалов, обратившись за помощью на какой-нибудь известный компьютерный форум.

Важное примечание: перед использованием утилиты настоятельно рекомендуется создать системную точку восстановления или полную резервную копию. В Windows 8 и 8.1 также потребуется активировать режим безопасной загрузки . Это необходимо на случай возникновения непредвиденных ошибок при работе Driver Verifier. Так вы сможете загрузиться, отключить режим тестирования и выполнить откат системы.

Запустить утилиту можно командой verifier .

В следующем окне Диспетчера отметьте параметры, по которым будет выполняться тестирование (для полноты картины можно выбрать все) .

В третьем окне можно ничего не менять.

В четвертом окошке утилита предложит выбрать группу драйверов для тестирования.

По умолчанию выбираются все неподписанные драйвера, как входящие в группу риска, но также вы можете указать драйвера самостоятельно, отметив их галочками в пятом окне Диспетчера проверки.

Это всё. После перезагрузки компьютера будет активирован режим проверки драйверов. Всё это время компьютер можно использовать как обычно, вплоть до момента появления BSOD . После этого копируем файл дампа из каталога C:/Windows/Minidump и отправляем его на анализ. На загрузку ПК с включённым режимом тестирования драйверов может потребоваться немного больше времени, так что не пугайтесь. Это нормальное явление. После получение всех данных режим отладки необходимо отключить вручную, выбрав в графическом интерфейсе утилиты пункт «Удалить существующие параметры» .

Если Вы предполагаете, что какой-либо из драйверов работает некорректно или, проанализировав дамп памяти, Вы определили драйвер вызвавший ошибку, то для более тщательной проверки работы драйверов Вы можете самостоятельно выполнить проверку драйверов с помощью встроенного в операционную систему средства проверки Verifier.exe .

Проверка неподписанных драйверов.

verifier и нажмите Enter.
2) Выберите пункт и нажмите кнопку Далее .
и нажмите кнопку Далее .
Имитация нехватки ресурсов и нажмите кнопку Далее .
Автоматически выбирать неподписанные драйверы и нажмите кнопку Далее .

Если неподписанные драйверы обнаружены, система отобразит Вам их список, в котором будут указаны файлы драйверов и их описание. Причем найденные драйвера могут принадлежать как устройствам, так и приложениям. Не закрывайте пока окно средства проверки драйверов и не нажимайте никаких кнопок.

Вариант 1. Обновление программы или драйвера.

6) Посетите сайт производителя устройства или автора программы и скачайте более новую версию.
7) Переустановите программу или обновите драйвер.
8) После обновления приложения или драйвера закройте окно средства проверки драйверов, нажав кнопку Отмена .
9) Перезагрузите компьютер и продолжайте работу в операционной системе.
Если в системе не возникают ошибки связанной с данным драйвером, значит обновление драйвера или программы устранило её.

Вариант 2. Удаление программы или драйвера.

6.1) Удалите программу, которой принадлежит данный драйвер.
6.1.1) Откройте Панель управленияВсе элементы панели управленияПрограммы и компоненты и удалите приложение, которому принадлежит драйвер.
Перед удалением программы убедитесь, что у Вас присутствует ее установочный диск или ее установка сохранена у Вас на диске.

6.2) Удалите драйвер в Диспетчере устройств.
6.2.1) В меню Пуск щелкните правой кнопкой мыши на Компьютер и выберите пункт Свойства .
6.2.2) Нажмите в списке слева на Диспетчер устройств .
6.2.3) В Диспетчере устройств найдите устройство, щелкните по нему правой кнопкой мыши и выберите из контекстного меню пункт Свойства .
6.2.4) Перейдите на вкладку Драйвер и нажмите кнопку Удалить .

7) После удаления приложения или драйвера закройте окно средства проверки драйверов, нажав кнопку Отмена .
8) Перезагрузите компьютер и продолжайте работу в операционной системе.

Если в системе не возникают ошибки связанной с данным драйвером, значит удаление драйвера или программы устранило её.

Вариант 3. Проверка неподписанных драйверов.

Внимание! После проверки неподписанных драйверов система может не загрузиться (прежде чем переходить к дальнейшим действиям, прочтите данный вариант до конца).

6) Нажмите кнопку Готово и перезагрузите компьютер.

7) Перезагрузите компьютер
8) До начала запуска Windows нажмите на клавишу F8. При появлении окна выбора дисков: выберите диск на котором у Вас установлена Windows, нажмите Enter, а затем сразу F8.
9) Выберите пункт Безопасный режим
10) Откройте диалоговое меню Выполнить : Пуск ->
11) Введите команду verifier.exe /reset и нажмите Enter.

Если система загрузилась в обычном режиме, проверка неподписанных драйверов завершилась успешно - они не являются источником проблем.

Проверка подписанных драйверов.

1) В строке поиска меню Пуск введите verifier и нажмите Enter.
2) Выберите пункт Создать нестандартные параметры (для кода программ) и нажмите кнопку Далее .
3) Установите переключатель в значение Выбрать отдельные параметры из полного списка и нажмите кнопку Далее .
4) Отметьте все флажки кроме флажка Имитация нехватки ресурсов и нажмите кнопку Далее .
5) Установите переключатель в значение Выбрать имя драйвера из списка и нажмите кнопку Далее .
6) Нажмите на заголовок колонки Поставщик для сортировки драйверов по их поставщику.
7) Выберите первые 10-15 драйверов установив напротив них флажки в колонке Проверить .
Не выбирайте все драйверы сразу, так как их проверка займет много времени и ресурсов системы.
8) Нажмите кнопку Готово и перезагрузите компьютер. Если система загрузилась в обычном режиме, проверка выбранных драйверов завершилась успешно - они не являются источником проблем. В таком случае повторите описанные выше действия выбрав следующие 10-15 драйверов.

Если же после перезагрузки появился синий экран с ошибкой, проблемный драйвер определен - его название будет включено в сообщение об ошибке. В таком случае:

1) Перезагрузите компьютер
2) До начала запуска Windows нажмите на клавишу F8. При появлении окна выбора дисков: выберите диск на котором у Вас установлена Windows, нажмите Enter, а затем сразу F8.
3) Выберите пункт Безопасный режим
4) Откройте диалоговое меню Выполнить : Пуск -> Выполнить или нажмите комбинацию Win+R
5) Введите команду verifier.exe /reset и нажмите Enter. Если проверка всех драйверов завершилась успешно, то скорее всего, драйверы не являются причиной критической ошибки, возникающей в Вашей системе.

Указывает на системный драйвер, который вряд ли является причиной проблемы (например, win32k.sys ). В этом случае понадобится серьезный анализ дампа, требующий очень глубоких знаний и опыта в этой области. Тем не менее, можно самостоятельно выполнить проверку драйверов с помощью встроенного в операционную систему средства проверки Verifier.exe . Хотя оно подробно описано в статье базы знаний Microsoft Использование средства проверки драйверов для устранения неполадок в работе драйверов Windows , представленный там материал изложен на довольно сложном техническом уровне. Ниже приводится краткое описание действий, которые необходимо выполнить для проверки драйверов.

На этой странице

Начало работы со средством проверки драйверов

В меню Пуск Выполнить (или Пуск Поиск ) введите verifier и нажмите Ввод. Запустится средство проверки драйверов. Выберите пункт Создать нестандартные параметры (для кода программ) и нажмите кнопку Далее .

Выбрать отдельные параметры из полного списка и нажмите кнопку Далее .

На следующем шаге поставьте все флажки кроме Имитация нехватки ресурсов и нажмите кнопку Далее .

На следующем шаге выберите пункт Автоматически выбирать неподписанные драйверы и нажмите кнопку Далее . Если неподписанных драйверов не обнаружено, переходите к .

Неподписанные драйверы

Если неподписанные драйверы обнаружены, вы увидите их список.

Драйверы могут принадлежать как устройствам, так и приложениям. Не закрывайте окно средства проверки драйверов и не нажимайте кнопку Далее сейчас .

Поиск обновленных драйверов

Вам необходимо проверить, есть ли обновленные драйверы.

  1. Если вы видите в списке драйвер приложения, посетите сайт его производителя — возможно, приложение обновилось. Если обновленной версии нет, можете попробовать удалить приложение (вы всегда можете установить его заново позже). Если критические ошибки прекратятся, оно и являлось причиной.
  2. Если вы видите в списке драйвер устройства и работаете в Windows Vista воспользуйтесь центром обновления Windows для поиска новых драйверов. Этот способ хорошо подходит для Windows Vista, поскольку многие производители устройств сотрудничают с Microsoft, предоставляя свои драйверы для загрузки средствами Windows Update. В панели управления выберите Центр обновления Windows и выполните проверку на предмет наличия обновлений для драйвера вашего устройства. Если драйвер найден, установите его.
  3. Если Windows Update не предложит вам новых драйверов, посетите сайт производителя устройства. Возможно, новые драйверы доступны там. Если вы испытываете проблемы с поиском драйверов, обратитесь в форум Поиск драйверов, прошивок и руководств на OSzone.net.

После обновления приложения или драйвера закройте окно средства проверки драйверов, нажав кнопку Отмена (а не Далее ) . Перезагрузите компьютер и продолжайте работу в операционной системе. Если критическая ошибка больше не возникает, вы устранили ее обновлением драйвера.

Удаление драйверов

Если новых драйверов обнаружить не удалось, попробуйте удалить драйвер.

Внимание! Удаление драйверов приводит к неработоспособности устройств. После перезагрузки в лучшем случае операционная система установит подходящий драйвер из собстенного хранилища драйверов. Если вы не уверены в том, нужно ли удалять тот или иной драйвер, не удаляйте его.

В диспетчере устройств (Пуск Поиск / Выполнить devmgmt.msc ОК ) найдите устройство, щелкните по нему правой кнопкой мыши и выберите из контекстного меню пункт Свойства . Затем перейдите на вкладку Драйвер и нажмите кнопку Удалить .

Проверка неподписанных драйверов

Внимание! После проверки неподписанных драйверов система может не загрузиться (ниже описано, как действовать в такой ситуации).

Если вы не хотите удалять драйвер и/или хотите выполнить проверку неподписанных драйверов, в окне средства проверки драйверов нажмите кнопку Далее . Вам будет предложено выбрать физческий диск.

Готово , после чего перезагрузите компьютер. Если после перезагрузки вы увидите синий экран с ошибкой, проблемный драйвер определен — его название будет включено в сообщение об ошибке. Войдите в безопасный режим и сбросьте все параметры проверки драйверов, введя в Пуск Поиск / Выполнить команду verifier.exe /reset .

Если система загрузилась в обычном режиме, проверка неподписанных драйверов завершилась успешно — они не являются источником проблем. Вы можете увидеть список проверенных драйверов, запустив verifier.exe .

Поскольку неподписанные драйверы не являются причиной критической ошибки, необходимо проверить другие драйверы.

Выборочная проверка драйверов

Если неподписанных драйверов не обнаружено или их проверка не выявила проблем, придется выполнить выборочную проверку драйверов. В этом случае в изображенном ниже окне выберите пункт Выбрать имя драйвера из списка .

На следующем шаге вам будет предложено выбрать драйверы для проверки. Не выбирайте все драйверы сразу , поскольку их проверка займет много времени и ресурсов системы.

Поэтому проверку, возможно, придется производить в несколько этапов. Поэтапная последовательность выбора драйверов может быть такой:

  1. Недавно обновленные драйверы или те, которые типично вызывают проблемы (драйверы антивирусных программ, сетевых экранов, виртуальных дисков).
  2. Драйверы, поставщиком которых не является Microsoft.
  3. Группа из 10 — 15 драйверов за один раз.

Выберите диск, на котором установлена операционная система, и нажмите кнопку Готово , после чего перезагрузите компьютер.

Внимание! После проверки драйверов система может не загрузиться (ниже описано, как действовать в такой ситуации).

Если после перезагрузки вы увидите синий экран с ошибкой, проблемный драйвер определен — его название будет включено в сообщение об ошибке. Перезагрузите компьютер и войдите в безопасный режим, нажав F8 при загрузке. После входа в систему сбросьте все параметры проверки драйверов, введя в Пуск Поиск / Выполнить команду verifier.exe /reset .

Если система загрузилась в обычном режиме, проверка выбранных драйверов завершилась успешно — они не являются источником проблем. Вы можете увидеть список проверенных драйверов, запустив verifier.exe и выбрав на первом шаге пункт Вывести сведения о текущих проверенных драйверах .

Теперь выберите следующую группу драйверов и повторите проверку.

Все драйверы проверены — что дальше?

Если проверка всех драйверов завершилась успешно, я должен снять шляпу перед вашим терпением и упорством. Скорее всего, драйверы не являются причиной критической ошибки, возникающей в вашей системе. Не исключено, что проблема кроется в аппаратной части вашего компьютера — например, в неисправном жестком диске или оперативной памяти, либо блок питания имеет недостаточную мощность для обеспечения работы всех устройств. Возможны и другие аппаратные проблемы, которые проверкой драйверов также невозможно выявить.