Как выявить проблемные драйвера с помощью Driver Verifier. Использование средства проверки драйверов Windows Программа для обнаружения конфликтов драйверов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8021

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

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

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

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

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

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

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

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

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

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

Утилита, которую мы сегодня будем описывать называется Driver Verifier и входит в состав всех операционных систем, в том числе и в Windows XP. Данная программа позволяет проверять и выявлять проблемные, которые могут сильно навредить системе. К самой известной проблеме относится синий экран смерти.

Данные о таких драйверах записываются в дамп памяти, чтобы потом можно было произвести анализы. Итак, утилита подвергает драйвера, так называемым стрессовым ситуациям (тестам), создавая визуальные экстремальные условия, например, нехватка памяти, различные блокировки, IRQL, проверки IRP, DMA и др., I/O – контроль. Другими словами, происходит имитация таких экстремальных ситуаций, которых при обычной работе с Windows быть не должно, или они случаются не часто. Таким образом, утилита позволяет выявить такие драйвера, которые могут привести к аварийному отключению системы.

Как я уже сказал, утилита встроена во все версии Windows и находится по пути %windir%\system32 . Также утилиту можно использовать в двух вариантах: командная строка и графический интерфейс.

Итак, для того, чтобы запустить утилиту для проверки драйверов необходимо в окне «Выполнить» набрать следующую команду:

verifier

Открывается окно, с необходимыми настройками, в которой мы выбираем второй пункт – «Создать нестандартные параметры» или «Create custom settings» .

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

Теперь можно нажать кнопку Finish , после этого появится просьба о перезагрузке системы.

Итак, перезагрузка прошла, теперь система будет грузиться в режиме проверки драйверов. Утилита будет работать в фоне, проводя различные тесты. Вы же можете спокойно работать за компьютером до окончания работы утилиты. После работы, информационный файл сохранится в дампе памяти. Такой файл обычно находится по пути: C:\Windows\Minidump\*.dmp . Теперь его можно анализировать, например, с помощью Windbg , или другой подобной программой.

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

Отключить утилиту можно так: в командной строке вводите следующую команду:

На этом все. Надеюсь данная статья помогла вам в решении ваших проблем.

Утилита Driver Verifier входит в состав всех версий Windows, начиная с Windows XP, и позволяет выполнять проверку драйверов, выявлять проблемные драйвера, являющиеся причиной синего экрана смерти (BSOD Blue Screen of Death) и записывать подробную информацию о проблемном драйвере в дамп памяти для дальнейшего анализа. Утилита подвергает проверяемые драйвера различным «стресс-тестам », имитируя различные экстремальные условия: нехватка памяти, контроль I/O, IRQL, взаимные блокировки, проверки DMA, IRP и пр. Т.е. имитируются ситуации, которые на продуктивных системах случаются нечасто, и отслеживается поведения драйвера в них. Цель работы утилиты – выявить ситуации, при которых драйвер может привести к аварийному завершению работы системы с BSOD.

Исполняемый файл утилиты Driver Verifier называется Verifier. exe и находится в каталоге %windir%\system32. Есть два варианта использования утилиты: из командой строки или с помощью графического интерфейса.

Чтобы включить режим проверки драйверов в Windows 8, запустите утилиту Driver Verifier, набрав

Verifier

В списке задач выберите Create custom settings (for code developers) и нажмите Next .

Убедитесь, что выбраны опции Standard settings , Force pending I/O requests и IRP Logging . Нажмите Next .

Далее выберите .

Отсортируйте содержимое таблицы, щелкнув по заголовку столбца «Provider» и в списке драйверов выберите те, которые необходимо протестировать. В нашем примере мы запустим проверку для всех драйверов, разработчиком которых не является Microsoft Corporation . Мы выбрали драйвера: e1g6032e.sys (Intel) и lsi_sas.sys (LSI).

Примечание . Наличие у драйвера цифровой подписи Microsoft свидетельствует, о том, что драйвер протестирован определенным образом на стабильность работы и его код не был модифицирован после этого. Именно поэтому не рекомендуется или пользоваться .

Осталось нажать Finish и появится информационно окно о том, что для вступления изменений в силу нужно перезагрузить систему.

Совет . Режим проверки для драйвера можно включить и из командной строки. Например, чтобы запустить Driver Verifier со стандартными настройками для драйвера myPCDriver.sys, команда будет выглядеть так:

Verifier /standard /driver myPCDriver.sys

После перезагрузки система загружается в режиме проверки драйверов. Driver Verifier работает в фоновом режиме, выполняя различные виды тестирования выбранных драйверов на предмет выявления ошибок. Используйте компьютер как обычно и дождитесь появления BSOD. Если вы знаете, какие действия приводили ранее к аварийному завершению работы системы, повторите их. В случае появления BSOD необходимо скопировать файл дампа памяти (по умолчанию сохраняются в каталоге C:\Windows\Minidump\*.dmp) и или аналога.

Важно! После активации режима отладки драйверов с помощью Driver Verifier, этот режим будет работать до тех пор, пока не будет отключен принудительно.

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

Совет . Использование средства проверки драйверов Windows существенно замедляет работу Windows, поэтому не рекомендуется постоянно работать в таком режиме.

Отключить проверку Driver Verifier можно из командной строки:

Verifier /reset

Или из графического интерфейса, выбрав пункт Delete existing settings .

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

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

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

Проверить текущий статус утилиты Driver Verifier можно так.

Утилита 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

Похожие публикации