Как проверить драйвера на windows 10
Перейти к содержимому

Как проверить драйвера на windows 10

  • автор:

Обновление драйверов вручную в Windows

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

Перед началом работы

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

альтернативный текст

Обновление драйвера устройства

  1. В поле поиска на панели задач введите диспетчер устройств, а затем выберите диспетчер устройств .
  2. Выберите категорию, чтобы просмотреть имена устройств, а затем щелкните правой кнопкой мыши (или нажмите и удерживайте) устройство, которое требуется обновить.
  3. Выберите пункт Автоматический поиск обновленных драйверов.
  4. Выберите Обновить драйвер.
  5. Если Windows не найдет новый драйвер, можно попытаться его найти на веб-сайте изготовителя устройства и выполнить соответствующие инструкции.

Повторная установка драйвера устройства

  1. В поле поиска на панели задач введите диспетчер устройств, а затем выберите диспетчер устройств .
  2. Щелкните правой кнопкой мыши (или нажмите и удерживайте) имя устройства, а затем выберите » Удалить».
  3. Перезапустите компьютер.
  4. Windows попытается переустановить драйвер.

Дополнительная справка

Если вы не видите рабочий стол и вместо этого видите синий, черный или пустой экран, см. раздел » Устранение ошибок синего экрана» или «Устранение ошибок черного или пустого экрана».

Синтаксис команды средства проверки драйверов

Следующий синтаксис используется при запуске программы проверки в окне командной строки.

В одной строке можно ввести несколько параметров. Пример:

verifier /flags 7 /driver beep.sys disksdd.sys 

Синтаксис Windows 11

Параметр /volatile можно использовать с некоторыми параметрами средства проверки драйверов /flags . Дополнительные сведения см. в разделе Использование переменных параметров.

Параметр /volatile будет нерекомендуем в будущих версиях Windows. В Windows 11 параметр замены — параметр /dif DifEnabledRule/now. Классы правил, которые можно включить с помощью этого параметра, см. в разделе Windows 11 классах правил ниже.

 verifier /standard /all verifier /standard /driver NAME [NAME . ] verifier [  . ] /all verifier [  . ] /driver NAME [NAME . ] verifier /flags /all verifier /flags /driver NAME [NAME . ] verifier /rules [OPTION . ] verifier /dif [  . ] /now /driver NAME [NAME . ] verifier /query verifier /querysettings verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot] verifier /bc verifier /reset verifier /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /faultssystematic [OPTION . ] verifier /log LOG_FILE_NAME [/interval SECONDS] verifier /volatile /flags verifier /volatile /adddriver NAME [NAME . ] verifier /volatile /removedriver NAME [NAME . ] verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /domain  /driver . [/logging | /livedump] verifier /logging verifier /livedump verifier /? verifier /help 

Синтаксис Windows 10

Параметр /volatile можно использовать с некоторыми параметрами средства проверки драйверов /flags и с параметром /standard. Вы не можете использовать параметр /volatile с параметрами /flags для проверки соответствия DDI, задержки нечетких значений Power Framework или проверки Storport. Дополнительные сведения см. в разделе Использование переменных параметров.

 verifier /standard /all verifier /standard /driver NAME [NAME . ] verifier [  . ] /all verifier /flags /all verifier /flags /driver NAME [NAME . ] verifier /rules [OPTION . ] verifier /query verifier /querysettings verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot] verifier /reset verifier /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /faultssystematic [OPTION . ] verifier /log LOG_FILE_NAME [/interval SECONDS] verifier /volatile /flags verifier /volatile /adddriver NAME [NAME . ] verifier /volatile /removedriver NAME [NAME . ] verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /domain  /driver . [/logging | /livedump] verifier /logging verifier /livedump verifier /? verifier /help 

Синтаксис Windows 8.1

Параметр /volatile можно использовать с некоторыми параметрами средства проверки драйверов /flags и с параметром /standard. Вы не можете использовать параметр /volatile с параметрами /flags для проверки соответствия DDI, задержки нечетких ошибок Power Framework, проверки Storport. Дополнительные сведения см. в разделе Использование переменных параметров.

 verifier /standard /all verifier /standard /driver NAME [NAME . ] verifier /flags /all verifier /flags /driver NAME [NAME . ] verifier /rules [OPTION . ] verifier /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /faultssystematic [OPTION . ] verifier /log LOG_FILE_NAME [/interval SECONDS] verifier /query verifier /querysettings verifier /bootmode [persistent | disableafterfail | oneboot] verifier /reset verifier /volatile /flags verifier /volatile /adddriver NAME [NAME . ] verifier /volatile /removedriver NAME [NAME . ] verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins] verifier /? 

Windows 8, синтаксис Windows 7

Параметр /volatile можно использовать с некоторыми параметрами средства проверки драйверов /flags и с параметром /standard. Вы не можете использовать параметр /volatile с параметрами /flags для проверки соответствия DDI, задержки нечетких ошибок Power Framework, проверки Storport, проверки SCSI или с параметром /disk. Дополнительные сведения см. в разделе Использование переменных параметров.

verifier [/volatile] [/standard | /flags Options ] [ /all | /driver DriverList ] verifier /volatile /faults [Probability PoolTags Applications DelayMins] /driver DriverList verifier /volatile DriverList verifier /reset verifier /querysettings verifier /query verifier /log LogFileName [/interval Seconds] verifier /? 

Параметры

Синтаксис Command-Line средства проверки

/Все Направляет средство проверки драйверов на проверку всех установленных драйверов после следующей загрузки.

/bc Задает количество перезагрузок, для которых должна быть активна проверка.

Этот параметр автоматически задает режим загрузки ResetOnUnusualShutdown.

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

Постоянные

Гарантирует, что параметры средства проверки драйверов сохраняются (остаются в силе) во время многих перезагрузок. Это параметр по умолчанию.

resetonbootfail

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

oneboot

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

resetonunusualshutdown

(Появилось в Windows 10 сборке 1709) Средство проверки драйверов будет сохраняться до тех пор, пока не произойдет необычное завершение работы. Можно использовать его аббревиатура «rous».

/difDifEnabledRule Включить проверку с помощью правила с поддержкой DIF. Проверка вступит в силу при следующей перезагрузке системы. Добавлено в Windows 11.

/difDifEnabledRule/now Немедленно включите проверку с помощью правила с поддержкой DIF. Включает классы правил немедленно без необходимости перезагрузки. Этот параметр действителен только в том случае, если классы правил уже не запущены. Сведения о классах правил, способных к немедленной активации, см. в описании классов правил Windows 11.

/driverDriverList Указывает один или несколько драйверов, которые будут проверены. DriverList — это список драйверов по двоичному имени, например Driver.sys. Используйте пробел для разделения каждого имени драйвера. Подстановочные знаки, такие как n*.sys, не поддерживаются.

/driver.excludeDriverList Указывает один или несколько драйверов, которые будут исключены из проверки. Этот параметр применим, только если для проверки выбраны все драйверы. DriverList — это список драйверов по двоичному имени, например Driver.sys. Используйте пробел для разделения каждого имени драйвера. Подстановочные знаки, такие как n*.sys, не поддерживаются.

/Ошибки Включает функцию имитации низких ресурсов в средстве проверки драйверов. Вместо 0x4 /flags можно использовать /faults. Однако вы не можете использовать /flags 0x4 с вложенными параметрами /faults .

Для настройки имитации с низкими ресурсами можно использовать следующие подпараметры параметра /faults .

Указывает вероятность того, что средство проверки драйверов не сможет выполнить заданное выделение. Введите число (десятичное или шестнадцатеричное), чтобы представить количество шансов в 10 000, что средство проверки драйверов не сможет выделить. Значение по умолчанию 600 означает 600/10000 или 6 %.

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

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

Указывает время в минутах после загрузки, в течение которого средство проверки драйверов не намеренно завершает выделение. Эта задержка позволяет драйверам загружаться и стабилизировать систему перед началом тестирования. Введите число (в десятичном или шестнадцатеричном формате). Значение по умолчанию — 7 (мин).

/faultssystematic Задает параметры для имитации систематического снижения ресурсов. Используйте флаг 0x40000 , чтобы выбрать вариант Систематическое моделирование низких ресурсов.

Включает внедрение ошибок при перезагрузке компьютера.

Отключает внедрение ошибок при перезагрузке компьютера (это параметр по умолчанию).

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

Отключает внедрение ошибок при перезагрузке компьютера и очищает список исключений стека.

Динамически включает внедрение ошибок.

Динамически отключает внедрение ошибок.

Динамически включает внедрение ошибок в режиме «что если «.

Динамически отключает внедрение ошибок и очищает список ранее неисправных стеков.

Отображает текущую статистику внедрения ошибок.

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

Извлекает указанный идентификатор внедренного стека.

Исключает стек из внедрения ошибок.

/flagsOptions Активирует указанные параметры после следующей перезагрузки. Это число можно ввести в десятичном или шестнадцатеричном формате (с префиксом 0x ). Допускается любое сочетание следующих значений.

Использование диспетчера проверки драйверов или Driver Verifier для выявления сбойных драйверов Windows

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

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

В этой инструкции о том, как использовать Driver Verifier для проверки драйверов и поиска драйвера, который вызывает сбой в Windows 11, Windows 10 и других версиях системы.

Запуск Driver Verifier и настройка проверки драйверов

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

  1. Перед тем как приступать, рекомендуется создать точку восстановления системы, также имеет смысл добавить безопасный режим в меню загрузки Windows (пример действий описан в инструкции Безопасный режим Windows 11, но подойдет и для предыдущих версий системы), а также убедиться, что сохранение дампов памяти включено, подробнее: Как включить сохранение дампов памяти в Windows при сбоях.
  2. Нажмите клавиши Win+R на клавиатуре, введите verifier и нажмите Enter. Запуск Driver Verifier
  3. Будет запущен диспетчер проверки драйверов. На первом экране вы можете задать какие параметры использовать при проверке драйверов, обычно достаточно использовать опцию «Стандартные параметры». При использовании опции «Создать нестандартные параметры» вы сможете вручную установить, какие именно тесты будут проводиться и включить дополнительные тесты в дополнение к стандартным. Настройки диспетчера проверки драйверов
  4. Следующий этап — выбор какие драйверы следует проверить: можно выбрать только неподписанные драйверы, только для старых версий Windows, тестировать все драйверы или конкретный файл драйвера. В контексте этой инструкции выбираем «Автоматически выбирать все драйверы, установленные на этом компьютере». Выбор драйверов для проверки в Driver Verifier
  5. Вам будет предложено перезапустить компьютер — выполните перезагрузку. Перезагрузка для начала работы Driver Verifier
  6. Также вы можете включить средство проверки драйверов для конкретного драйвера в командной строке, запущенной от имени администратора, например, команда для проверки всех драйверов в стандартном режиме выглядит следующим образом:

verifier /standard /all

а команда для проверки выбранных файлов драйверов имеет следующий синтаксис:

verifier /standard /driver driver1.sys driver2.sys

После перезагрузки драйверы будут тестироваться в фоновом режиме всё время, пока вы работаете с ОС. Каких-либо отчетов об этом не появится (но базовую информацию можно посмотреть в диспетчере проверки драйверов в пункте «Вывести сведения о текущих проверенных драйверах»), задача — проверить, при каких тестах и какой драйвер вызывает сбой.

Статистика проверки драйверов в Driver Verifier

При сбое какого-то из драйверов в ходе теста вы получите синий экран, обычно с одним из следующих кодов:

DRIVER_VERIFIER_DETECTED_VIOLATION DRIVER_CAUGHT_MODIFIYING_FREED_POOL DRIVER_VERIFIER_IOMANAGER_VIOLATION DRIVER_VERIFIER_DMA_VIOLATION SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION

Возможны и иные варианты кодов ошибки. После таких сбоев вы можете использовать специальные средства для анализа дампов памяти, например, WinDbg (который поддерживает помимо стандартных команд анализа дампа, сбор статистики от Driver Verifier с помощью команды !verifier), чтобы выяснить, какой именно драйвер вызвал синий экран. Примечание: если из-за синих экранов не получается выполнять какие-либо действия на компьютере, используйте безопасный режим и отключение проверки драйверов с помощью Driver Verifier, о чем подробнее далее.

Кстати, если синие экраны с кодами DRIVER_VERIFIER появляются у вас без описанных действий, вероятно, диспетчер проверки драйверов был запущен вами (либо кем-то еще) когда-то ранее и в дальнейшем проверка не отключалась.

Проверить текущий статус проверки драйверов можно с помощью команды verifier /query в командной строке. При запущенной проверке вам будет предоставлен отчет о проверяемых драйверах, в случае остановленной проверки или если она не запускалась, вы увидите сообщение «No drivers are currently verified».

Остановка проверки драйверов в Driver Verifier

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

Чтобы остановить диспетчер проверки драйверов и прекратить стресс-тесты драйверов, используйте один из способов:

  1. Запустить диспетчер проверки и использовать опцию «Удалить существующие параметры».
  2. Использовать командную строку, запущенную от имени администратора и команду

verifier /reset

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

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

Восстановление системы с загрузочного накопителя

  • Использовать точку восстановления системы на дату, когда проверка еще не была запущена. Это можно сделать в том числе из среды восстановления или с загрузочной флешки Windows, выбрав пункт «Восстановление системы» на втором экране программы установки.
  • Загрузить куст реестра SYSTEM и удалить разделы

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

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • MinerSearch — поиск и удаление майнера в Windows
  • Program в автозагрузке Windows — что это и можно ли удалить?
  • SSD определяется как HDD или наоборот в Windows — решение
  • Не удалось запустить службу Windows Audio на Локальный компьютер — как исправить?
  • Ошибка DXGI ERROR DEVICE HUNG — как исправить?
  • Windows 11
  • Windows 10
  • Android
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Установка с флешки
  • Настройка роутера
  • Всё про Windows
  • В контакте
  • Одноклассники

    Максим 26.10.2023 в 11:29

  • Dmitry 26.10.2023 в 15:34
  • Dmitry 16.11.2023 в 16:01

Использование средства проверки драйверов для выявления проблем с драйверами Windows для опытных пользователей

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

Применимо к: Windows Server 2012 Foundation, Windows Server 2012 Essentials, Windows Server 2012 Standard, Windows Server 2012 Datacenter
Исходный номер базы знаний: 244617

Возможности средства проверки драйверов

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

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

Подробные сведения о каждом флаге см. в разделе «Параметры средства проверки драйвера» и классы правил.

Стандартные параметры

Следующие параметры вместе представляют правила, которые не должны нарушать все драйверы в системе. Эти параметры /standard включены при включении стандартных параметров в графическом пользовательском интерфейсе средства проверки драйверов или при настройке средства проверки драйверов с помощью командной строки.

Автоматические проверки

Эти проверки всегда выполняются для проверяемого драйвера независимо от выбранных параметров.

Примеры автоматических проверок:

  • Проверки IRQL
    • Созданный IRQL (то есть текущий IRQL меньше целевого IRQL).
    • Ниже IRQL (то есть текущий IRQL больше целевого IRQL).
    • Двойной выпуск спин-блокировки.
    • Приобретения и выпуски спин-блокировки выполняются в соответствующей IRQL.
    • Выделение и выделение пула с использованием страниц выполняются в правильной версии IRQL (APC_LEVEL или ниже).
    • Выделения и бесплатные пулы без страниц выполняются в правильной версии IRQL (DISPATCH_LEVEL или ниже).
    • Для этих программных интерфейсов (API) не указаны случайные (неинициализированные) значения.
    • Освобожденные выделения не указывают на активные объекты таймера.
    • Проверяет, что драйвер не имеет ожидающих операций во время выгрузки, таких как ожидающие контроллеры домена или рабочие потоки.
    • Неправильное переключение стеков потоков.
    • Попытка вызова KeWaitXxx в IRQL >= DISPATCH_LEVEL.
    • Разыменовывающее объект, у которого уже есть счетчик ссылок 0.

    Специальный пул

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

    Принудительная проверка IRQL

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

    Отслеживание пула

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

    Проверка ввода-вывода

    Если этот параметр активен, driver Verifier выделяет IRP драйвера из специального пула и отслеживает обработку ввода-вывода драйвера. Он обнаруживает недопустимое или несогласованное использование процедур ввода-вывода.

    Если включена проверка ввода-вывода:

    • Все IP-адреса, выделенные через IoAllocateIrp, выделяются из специального пула, если они доступны.
    • Проверки выполняются в IoCallDriver, IoCompleteRequest и IoFreeIrp для перехвата сообщений об ошибках драйвера.
    • Все ошибки проверки ввода-вывода проверяют с помощью кода DRIVER_VERIFIER_IOMANAGER_VIOLATION (0xC9).

    В Windows 7 и более поздних версиях операционной системы Windows все функции расширенной проверки ввода-вывода включены в проверку ввода-вывода и больше не доступны и не требуются для выбора параметра расширенной проверки ввода-вывода в диспетчере проверки драйвера или в командной строке.

    Обнаружение взаимоблокировки

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

    Расширенная проверка ввода-вывода

    Если этот параметр активен, средство проверки драйверов отслеживает вызовы нескольких подпрограмм диспетчера операций ввода-вывода и выполняет нагрузочное тестирование ip-адресов PnP, ip-адресов питания и IPI WMI.

    В Windows 7 и более поздних версиях все функции расширенной проверки ввода-вывода включены в проверку ввода-вывода. Этот параметр больше не доступен или не требуется в диспетчере средства проверки драйверов или в командной строке.

    Проверка DMA

    Если этот параметр активен, средства проверки драйвера отслеживают использование драйвером подпрограмм DMA. Он обнаруживает неправильное использование буферов DMA, адаптеров и регистров карт.

    Проверки безопасности

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

    Прочие проверки

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

    Проверка соответствия DDI

    Если этот параметр активен, driver Verifier применяет набор правил интерфейса драйвера устройства (DDI), которые проверяют правильность взаимодействия между драйвером и интерфейсом ядра операционной системы.

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

    Дополнительные параметры

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

    Требования к средствам проверки драйверов

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

    Включение средства проверки драйверов

    Вы можете включить проверку драйвера с помощью Verifier.exe. Verifier.exe включается в каждую копию Windows. Он автоматически устанавливается в папку System32. Verifier.exe интерфейсы командной строки и графического пользовательского интерфейса (GUI), поэтому можно указать драйверы и соответствующие уровни проверки. Вы также можете просмотреть статистику по проверке драйверов в режиме реального времени. Дополнительные сведения см. в разделе «Диспетчер проверки Verifier.exe драйверов «.

    Отладка нарушений средства проверки драйвера

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

    Все нарушения средства проверки драйверов приводит к проверкам ошибок, но наиболее распространенными (хотя не обязательно все) являются:

    • 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
    • 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
    • 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
    • 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
    • 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
    • 0xE6: DRIVER_VERIFIER_DMA_VIOLATION

    !analyze -v — это лучшая команда, используемая при запуске нового сеанса отладки. Эта команда вернет полезную информацию и попытается определить неисправный драйвер.

    Расширения отладчика, относящиеся к средству проверки драйверов:

    • !verifier создает дамп записанной статистики средства проверки драйвера. !verifier -? отобразит все доступные параметры.
    • !deadlock создает дамп данных, связанных с блокировками или объектами, отслеживаемыми обнаружением взаимоблокировок. !deadlock -? отобразит все доступные параметры.
    • !iovirp [address] создает дамп сведений, связанных с IRP, отслеживаемым с помощью средства проверки ввода-вывода.
    • !ruleinfo [RuleID] создает дамп сведений, связанных с нарушенным правилом проверки соответствия DDI (RuleID всегда является первым аргументом для проверки ошибок, все идентификаторы правил проверки соответствия DDI имеют форму 0x200nn).

    Средства проверки драйверов и графические драйверы

    Графические драйверы в режиме ядра Windows, такие как библиотеки DLL принтера и драйвера дисплея, не могут вызывать точку входа пула напрямую. Выделение пула выполняется косвенно с помощью обратных вызовов интерфейса драйвера графического устройства (DDI) для Win32k.sys. Например, EngAllocMem — это обратный вызов, который графический драйвер вызывает для явного выделения памяти пула. Другие специализированные обратные вызовы, такие как EngCreatePalette и EngCreateBitmap, также возвращают память пула.

    Чтобы обеспечить такое же автоматическое тестирование для графических драйверов, поддержка некоторых функций средства проверки драйверов включена в Win32k.sys. Так как графические драйверы более ограничены, чем другие драйверы в режиме ядра, им требуется только подмножество функций средства проверки драйверов. В частности, проверка IRQL и проверка ввода-вывода не требуются. Другие функциональные возможности, а также использование специального пула, случайный сбой выделения пула и отслеживание пула, поддерживаются в разной степени в разных графических обратных вызовах DDI.

    Случайные сбои поддерживаются для следующих графических функций обратного вызова DDI:

    • EngAllocMem
    • EngAllocUserMem
    • EngCreateBitmap
    • EngCreateDeviceSurface
    • EngCreateDeviceBitmap
    • EngCreatePalette
    • EngCreateClip
    • EngCreatePath
    • EngCreateWnd
    • EngCreateDriverObj
    • BRUSHOBJ_pvAllocRbrush
    • CLIPOBJ_ppoGetPath

    Кроме того, для EngAllocMem поддерживается отслеживание специальных пулов и пулов.

    Включение средства проверки драйверов для графических драйверов идентично включению других драйверов. Дополнительные сведения см. в разделе «Включение средства проверки драйвера «. Неподдерживаемые флаги, такие как проверка IRQL, игнорируются. Кроме того, можно использовать !gdikdx.verifier команду kernel-debugger для проверки текущего состояния средства проверки драйверов и трассировки пула для графических драйверов.

    Для проверки надежности следует использовать только параметр случайного сбоя выделения. Использование этого параметра может привести к отрисовке сообщений об ошибках, поэтому не следует использовать этот параметр с проверочного теста для проверки правильности реализации графического драйвера (например, путем сравнения выходных данных графического драйвера с эталонным изображением).

    Диспетчер проверки драйверов (Verifier.exe)

    Средство диспетчера проверяемых драйверов (Verifier.exe) является предпочтительным способом создания и изменения параметров средства проверки драйверов и сбора статистики из средства проверки драйверов. Verifier.exe находится в папке %WinDir%\System32 для каждой установки Windows.

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

    Чтобы получить справку по настройке средства проверки драйверов, verifier.exe /? запустите его в окне CMD администратора.

    Состояние драйвера

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

    • Загружено: драйвер в настоящее время загружен и проверен.
    • Выгружено: драйвер в настоящее время не загружен, но был загружен по крайней мере один раз с момента перезапуска компьютера.
    • Никогда не загружалось: драйвер никогда не загружается. Это состояние может указывать на то, что файл образа драйвера поврежден или вы указали имя драйвера, отсутствующее в системе.

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

    Если включить флаг «Специальный пул» и менее 95 процентов выделенного пула было отправлено в специальный пул, на этой странице появится предупреждающее сообщение. Это означает, что необходимо выбрать меньший набор драйверов для проверки или добавить на компьютер дополнительный объем физической памяти, чтобы получить более полное покрытие проверки выделения пула.

    Глобальные счетчики

    На этой странице свойств показано текущее значение некоторых счетчиков, поддерживаемых средствами проверки драйверов. Нулевое значение счетчика может указывать на то, что связанный флаг проверки драйвера не включен. Например, значение 0 для счетчика «Другие/сбои» указывает, что флаг имитации низкого ресурса не включен. Вы можете отслеживать действия средства проверки, так как значения счетчиков обновляются автоматически по умолчанию. Вы можете изменить частоту обновления, переключиться на обновление вручную или принудительно выполнить обновление с помощью группы элементов управления в левой нижней части диалогового окна.

    Отслеживание пула

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

    Параметры

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

    • Проверка включена: драйвер в настоящее время проверен.
    • Проверка отключена: драйвер в настоящее время не проверен.
    • Проверка включена (требуется перезагрузка): драйвер проверяется только после следующего перезапуска.
    • Проверка отключена (требуется перезагрузка): драйвер в настоящее время проверен, но не проверен после следующего перезапуска.

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

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

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

    Тип проверки можно задать с помощью флажков в правом верхнем углу диалогового окна. Вы можете включить проверку ввода-вывода на уровне 1 или 2. Проверка уровня 2 надежнее, чем уровень 1.

    Сохраните изменения параметров, выбрав «Применить «. На этой странице есть еще две кнопки:

    • Предпочтительные параметры: он выбирает некоторые часто используемые параметры (со всеми проверенными драйверами).
    • Сброс всех: очищает все параметры средства проверки драйверов, чтобы драйверы не проверялись.

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

    Переменные параметры

    Эту страницу свойств можно использовать для немедленного изменения флагов средства проверки драйвера. Можно переключать только состояние некоторых флагов средства проверки драйверов. Вы не можете изменить список проверяемых драйверов. После изменения состояния некоторых флажков выберите «Применить «, чтобы изменения вступили в силу. Изменения вступает в силу немедленно. Они будут выполняться до тех пор, пока вы не внесите дополнительные изменения или пока не перезапустите компьютер.

    Интерфейс командной строки

    Вы также можете Verifier.exe из командной строки (для получения дополнительных сведений введитеverifier.exe /? в командной строке). В командной строке можно использовать несколько коммутаторов, например:

    Verifier.exe /flags 0x209BB /driver MyDriver1.sys MyFilterDriver1.sys 

    В следующем списке показаны наиболее часто используемые флаги командной строки:

    Настройка параметров (флагов)

    • verifier.exe / flagsЗначение — это шестнадцатеричное число (требуется префикс 0x ), представляющий общее значение флагов для включения. Значение каждого флага отображается в выходных данных verifier /? . Стандартные флаги: 0x00000000: автоматические проверки
      0x00000001: специальный пул
      0x00000002: принудительная проверка IRQL
      0x00000008: отслеживание пула
      0x00000010: проверка ввода-вывода
      0x00000020: обнаружение взаимоблокировки
      0x00000080: проверка DMA
      0x00000100: проверки безопасности
      0x00000800: прочие проверки
      0x00020000: проверка соответствия DDI Дополнительные флаги: 0x00000004: моделирование случайного низкого уровня ресурсов
      0x00000040: расширенная проверка ввода-вывода (только Vista)
      0x00000200: принудительное выполнение ожидающих запросов ввода-вывода
      0x00000400: ведение журнала IRP
      0x00002000: инвариантная проверка MDL для стека
      0x00004000: инвариантная проверка MDL для driver0x00008000: нечеткость задержки Power Framework Например, чтобы включить только специальные проверки пула, проверки ввода-вывода и прочие проверки:
    verifier.exe /flags 0x811 

    Чтобы включить все стандартные параметры (любой из примеров работает):

    verifier.exe /standard 
    verifier.exe /flags 0x209BB 
    verifier.exe /driver driver1.sys [driver2.sys driver3.sys . ] 

    Эта команда указывает конкретный драйвер или драйверы для проверки. Укажите дополнительные драйверы в списке с разделителями пробелами.

    verifier.exe /all 
    verifier.exe /volatile /flags *value /adddriver MyDriver1.sys* 
    verifier /query 
    verifier /querysettings 
    verifier.exe /reset 

    Дополнительные сведения для разработчиков драйверов

    В следующих разделах описываются дополнительные сведения о параметрах средства проверки драйверов, которые могут быть интересны разработчикам драйверов. Эти параметры обычно не требуются ИТ-специалистам.

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

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

    1. Запустите редактор реестра (Regedt32).
    2. Откройте следующий раздел реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers
    3. Измените REG_SZ ключ.

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

    В следующем списке показаны примеры значений ключа REG_SZ :

    • Ntfs.sys
    • Win32k.sys ftdisk.sys
    • *.sys

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

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

    Значение ключа — это DWORD, представляющий коллекцию всех включенных флагов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *