Компьютерология - Информационный ресурс

Как найти неисправный драйвер на компьютере? Диспетчер проверки драйверов. Использование средства проверки драйверов исправить синий экран смертиUsing Driver Verifier to fix a Blue Screen of Death Устранение ошибок, возникающих при проверке драйверов

Мы уже успели поговорить о том, . А вот как установить драйвер для старого оборудования, если оно не поддерживает технологию PnP? И как можно продиагностировать работу драйверов? Рассмотрим данные темы в этой статье.

Установка старого оборудования

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

Диагностика работы драйвера

Наличие конфликтов у оборудования

В наши дни конфликты драйверов встречаются все реже. Но встречаются. Обычно, конфликты возникают, когда двум субъектам требуются одни и те же ресурсы. А все войны на Земле шли ради обладания какими-то ресурсами! Так что не удивляйтесь, что данная слабость имеется и у компьютерных комплектующих. Чтобы узнать, есть ли у устройства какие-либо конфликты, необходимо продиагностировать работу драйвера. Для этого зайдите в Диспетчер устройств , выберите Устройства. Далее, в контекстном меню выберите Свойства и откройте вкладку Ресурсы . Внизу Вы найдете поле Список конфликтующих устройств , где и можно узнать если ли конфликты или нет. При наличии оных, активируется кнопка «Изменить», где Вы в роли судьи будете делить ресурсы между конфликтующими.

Сведения о системе

Так же, для диагностики работы драйверов применяется утилита Сведения о системе , открыть которую Вы можете, если введете в меню Выполнить msinfo32.
В ней Вы увидите три узла. Для диагностики драйверов можно использовать следующие:

  • В первом узле есть параметр Конфликты и совместное использование. В нем Вы увидите какие оборудования используют одинаковые ресурсы. Что в свою очередь является возможной причиной неполадок.
  • Во втором узле Вы можете найти подробные сведения о нужном оборудовании. А в целях диагностики драйверов лучше всего использовать параметр Устройства с неполадками .
  • В третьем узле, развернув параметр Системные драйверы , Вы можете узнать о состоянии драйверов ядра. Это очень важный параметр, потому что он ориентирован именно на драйвера ядра операционной системы. А восстановить драйвер ядра намного сложнее, чем драйвер принтера. И поэтому лучше диагностировать такие случаи, а иначе Вы можете наткнутся на одну из фатальных ошибок .

Диспетчер проверки драйверов

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

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

Диагностика DirectX

Если Вы в меню Выполнить наберете dxdiag , то Вы запустите Средство диагностики . В открывшемся окне будут 4 вкладки: вторая про экран, третья про звук и четвертая про систему ввода. Каждая из них внизу имеет примечание, где указаны наличие или отсутствие проблем. Как видите, данное средство диагностирует только эти три класса оборудования. Почему? Потому что основное использование DirectX — при создании игр. А что нужно игре? Экран, чтобы видеть во что мы играем! Звук, чтобы слышать рев мотора или выстрел в спину. И систему ввода, чтобы рулить или стрелять. И пофиг то, что у тебя принтер не печатает. Вот так вот.

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

Если Вы предполагаете, что какой-либо из драйверов работает некорректно или, проанализировав дамп памяти, Вы определили драйвер вызвавший ошибку, то для более тщательной проверки работы драйверов Вы можете самостоятельно выполнить проверку драйверов с помощью встроенного в операционную систему средства проверки 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 не предложит вам новых драйверов, посетите сайт производителя устройства. Возможно, новые драйверы доступны там. Если вы испытываете проблемы с поиском драйверов, обратитесь в форум на сайт.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дефекты проектирования драйверов могут носить самый разный характер: от выпадений в голубой экран смерти (BSOD – Blue Screen of Death) и до замедления работы компьютера и странностей поведения некоторых совсем не связанных с драйвером прикладных приложений.

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

Так, например, один довольно распространенный драйвер от видеокарты Matrox G450 имеет тенденцию разрушать базовые структуры графической подсистемы Windows 2000 , в результате чего в BSOD’е отображается имя системного драйвера win32k.sys , в котором реализована значительная часть функций USER и GDI и который, естественно, тут совсем ни при чем. Так что интерпретация показаний голубого экраном смерти – это и магия, и интуиция, и наука, и искусство - всего понемножку.

Помимо дефектов драйверов, голубые экраны смерти могут также вызываться отказами железа, например разогнанным процессором, неисправной оперативной памятью, кривым контроллером жесткого диска, не до конца воткнутой в слот PCI-картой, неконтактом в одном из разъемов, плохим блоком питания, вздутым электролитическим конденсатором на материнской плате. А дуются последние по разным причинам: из-за перегрева от рядом расположенного процессора, недостатка керамических конденсаторов, «недоложенных» производителем (в результате чего ВЧ-составляющая идет через электролит и сильно его разогревает), наконец, из-за утечки ключевых транзисторов в узле стабилизатора. Поэтому, прежде чем колоть дрова, необходимо убедиться, что железо, на котором мы сидим, полностью исправно. А как это можно сделать?

Разборки с железом

Голубые экраны смерти, вызванные сбоями железа, носят стихийный характер, появляясь непредсказуемо и независимо ни от каких конкретных действий пользователя. Прикладные приложения также начинают выдавать критические ошибки в самых разных местах, причем коды ошибок, адреса и другая информация, выдаваемая системой, во всех случаях будут различными! Кстати говоря, драйверы, обрабатывающие асинхронные запросы от устройств ввода/вывода, например беспроводных сетей, ведут себя практически точно так же. Голубые экраны смерти, вызванные дефектными драйверами, как правило, возникают при совершении определенного набора действий и содержат более или менее постоянную информацию.

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

Дрова без сертификата сразу в топку

Весь комплект инструментария, необходимый для разработки драйверов (DDK – Driver Development Kit), Microsoft распространяет бесплатно вместе с сопутствующей ему документацией. Драйверов, подчас очень глючных и нестабильных.

Чтобы такого беспредела не происходило, Microsoft еще в стародавние времена ввела процедуру сертификации драйверов на соответствие предъявляемым к ним требованиям, после которой драйверу выдается цифровая подпись. Или… не выдается, и он отправлялся на доработку. И хотя сертификация - всего лишь формальная процедура, не гарантирующая отсутствие фатальных ошибок и дефектов разработки, часть откровенно «пионерских» драйверов она все-таки отсеивает.

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

В этом нам поможет утилита sigverif.exe , входящая в штатный комплект поставки операционной системы и располагающаяся в каталоге WINNT\System32. Запускаем ее и видим диалоговое окно. Нажимаем кнопку «Дополнительно» и во вкладке «Поиск» настраиваем критерии отбора, перемещая радиокнопку из положения «Уведомлять о неподписанных системных файлах» (где она и прозябала по умолчанию) в положение «Искать другие файлы, не подписанные цифровой подписью». После этого в «Параметрах поиска» открываем бокс «Искать файлы следующего типа» и выбираем «*.sys», а ниже указываем папку для поиска «C:\WINNT», обязательно отметив галочку «Включая подпапки».

Вообще-то, строго говоря, драйверы не обязаны иметь расширение sys и далеко не всегда ограничиваются каталогом WINNT, находясь в каталогах «своих» приложений, а некоторые приложения и вовсе хранят драйверы… внутри себя! Сразу же после запуска (или в любое другое время) они сохраняют файл на диск в текущую или временную директорию, загружают драйвер в память и… тут же удаляют его с диска! Так поступают не только зловредные вирусы, но и вполне респектабельные программы, вроде некоторых утилит известного исследователя недр Windows Марка Руссиновича.

Поэтому для чистоты эксперимента нам совсем не помешает получить список драйверов, находящихся в данный момент в памяти, и сравнить их с драйверами, расположенными на диске. Слова «в данный момент» – ключевые, поскольку загрузка/выгрузка драйверов может происходить бесплатно без перезагрузки операционной системы. Эту операцию желательно выполнить несколько раз, запуская утилиту командной строки drivers.exe, входящую в состав DDK, который можно скачать с сервера копании Microsoft. Запущенная без каких-либо ключей командой строки, утилита drives.exe вываливает всю информацию на экран, что не есть хорошо, поскольку драйверов в системе обычно присутствует очень много и на экран они не помещаются. Однако религия нам позволяет перенаправить поток вывода в текстовой файл (drivers.exe >file-name.txt ), открываемый любым текстовым редактором - хоть Word’ом, хоть блокнотом. Затем остается только выделить вертикальный блок (чего блокнот не позволяет) и получить список драйверов. Прямо из ядра операционной системы!

Если хотя бы один из этих драйверов отсутствует в каталоге C:\WINNT\, то его цифровая подпись проверена не будет! Естественно, такой драйвер сразу же привлекает к себе внимание, и у нас появляется резонный вопрос: откуда он берется? Сначала сканируем все каталоги на диске; если его там нет, устанавливаем точку останова на функцию CreateFileW в Soft-Ice и смотрим на передаваемые ей аргументы. Рано или поздно мы встретим наш глючный драйвер, после чего останется только взглянуть в правый нижний угол экрана Soft-Ice, где высвечивается имя процесса, породившего его. Более подробно – в книге «Техника отладки программ без исходных текстов», электронную копию которой можно найти на ftp- или http-сервере nezumi.org.ru , а также на нашем диске. А мы продолжаем терзать утилиту sigverif.exe .

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

Некоторые горячие головы предлагают, в порядке очищения системы от ереси, удалить все неподписанные драйверы – тогда, мол, все проблемы как хвостом снимет. А как это можно сделать? Самое грубое решение - просто взять и удалить их с диска через FAR или проводник (естественно, обладая правами администратора!). Но последствия такой операции могут оказаться весьма плачевными, и лучше, кликнув правой клавишей мыши на иконку драйвера в проводнике, найти в «Свойствах» имя производителя, по которому можно определить, что за приложение/железка установила этот драйвер, и деинсталлировать ее цивилизованным путем. Правда, здесь есть одно «но».

На приведенном рисунке выделен драйвер g400m.sys , идущий вместе с картой Matrox G450, и хотя Matrox совсем не хилая компания, цифровую подпись она не получила (то ли Microsoft не дала, то ли сама Matrox не захотела заморачиваться). Естественно, после удаления его из системы, о SVGA-режиме придется забыть. Можно, правда, сходить на сайт Matrox, скачав самую последнюю версию драйвера (она уже снабжена цифровой подписью). Только вот… и подписанная, и неподписанная версии содержат множество фатальных ошибок, в частности, в результате стечения определенных обстоятельствах при попытке перейти в overlay mode, система падает в BSOD, поскольку драйвер пытается освободить уже освобожденную память.

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

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

Устраиваем дровам настоящее испытание

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

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

Итак, запускаем verifier.exe, видим окно Driver Verifier Manager , идем в закладку Setting и переводим радиокнопку в положение Verify all drivers, после чего давим кнопку «Preferred Setting», устанавливающую следующие типы проверок (verification type):

  • Special pool – проверяемым драйверам будет отведена специальная область памяти для выделения, не очень быстро работающая, зато способная обнаруживать большинство типов разрушений своих и чужих данных.
  • Force IRQL checking. IRQL – это уровень запроса прерываний (Interrupt Request Level). Наиболее частой ошибкой разработчиков драйверов является попытка обратиться к памяти на таком уровне IRQL, на котором менеджер подкачки не работает. И если требуемая страница вдруг окажется вытесненной на диск, система обернется в голубой экран с надписью «IRQL_LESS_OR_EQULAR». Форсирование этого режима принудительно вытесняет страницы драйвера на диск, чтобы дефект разработки проявлялся в 100% случаев.
  • Low resource simulation полезно установить, чтобы посмотреть, как драйвер будет вести себя при катастрофической нехватке системных ресурсов, однако этого можно и не делать, а вот галочку Pool tracking (отслеживание корректности обращения с пулом памяти) лучше оставить. Ошибки ввода/вывода (I/O verification) составляют ничтожную часть всех ошибок, поэтому положение этой галки в общем-то совершенно некритично.

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

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

Узнать статус проверки можно в любой момент запуском verifier.exe. В закладке Driver Status перечислены статусы всех обнаруженных драйверов с пояснением текущей ситуации. Статус Loaded означает, что данный драйвер был загружен и проверен, по крайней мере, один раз (но, возможно, не полностью, то есть не все участки драйвера успели отработать). Статус Unloaded готовит о том, что драйвер был загружен, проверен (возможно, частично) и выгружен использующей его системой/программой или по своему собственному желанию. Последнее особенно характерно для драйверов, оставшихся от оборудования, которое было удалено путем варварского выдергивая платы расширения из слота, то есть без выполнения деинсталляции. Оставшийся в живых драйвер сканирует шину, пытаясь нащупать «свое» оборудование, обламывается с поиском, после чего выгружает себя из памяти, кстати говоря, замедляя загрузку системы (иногда очень значительно) и конфликтуя с другими драйверами. Мораль: оборудование из системы нужно удалять по всем правилам! Однако не всякий статус Unloaded -признак ненормальности ситуации, и, прежде чем удалять драйвер с таким статусом, нужно разобраться, что это за северный олень такой и откуда он вообще тут взялся.

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

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

Вернуть систему в нормальный режим (то есть без дополнительных проверок, сжирающих производительность), можно с помощью все того же verifier’а. Возвращаемся к закладке Setting, переводим радиокнопку в положение Verify selected drivers (при этом никакой драйвер не должен быть выделен), давим на «Reset All», затем на «Apply» и перезагружаемся. Все! Теперь система работает с нормальной скоростью, но без проверок.

Что делать с сырыми дровами?

А действительно, что можно сделать с дефектным драйвером? Хакеры, умеющие держать отладчик в руках, при наличии достаточного количества свободного времени, могут его дизассемблировать (благо по объему драйверы обычно небольшие), найти ошибку, и придумать способ ее исправления, но… это слишком трудоемкий путь.

Выбрасывать драйвер (вместе с тем железом/программой, что его использует) тоже не вариант. Хотя если известно, что в голубых экранах смерти виновата звуковая карта незнакомого китайского производителя стоимостью $20, то у нас появляется вполне весомая мотивация ее заменить чем-нибудь более достойным. Но это, собственно говоря, всем и так понятно и в дополнительных комментариях не нуждается.

Зато далеко не каждый знает, что огромное количество сбоев и голубых экранов смерти связано с тем, что драйвер, разработанный (и протестированный) в однопроцессорной среде, ставят на двухпроцессорную машину. Под «двухпроцессорностью» здесь имеется ввиду как реальная платформа с двумя камнями, так и Hyper-Threading/многоядерные процессоры. Известно (и подтверждено большим количеством тестов), что домашнему компьютеру два процессора совершенно ни к чему, так как на подавляющем большинстве приложений увеличение производительности при этом практически не наблюдается.

Поэтому если система работает нестабильно, а избавиться от дефектного драйвера по тем или иным обстоятельствам никак не удается, можно попробовать залезть в BIOS Setup, превратив свою «виртуальную двухпроцессорную» машину в однопроцессорную. Аналогичного эффекта можно добиться, открыв файл boot.ini (на компьютерах с Windows NT/2000/XP он расположен в корневом каталоге логического диска, на котором установлена система) и добавив к нему ключ /ONECPU, после чего перезагрузиться в надежде, что ошибки исчезнут.

Листинг 1

Пример типичного файла boot.ini


timeout=30

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS

Листинг 2

Настраиваем систему на использование только одного процессора из всех имеющихся


timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

А вот на Windows Vista файла boot.ini нет, и, хотя существует (временная) возможность сконфигурировать ее загрузочные настройки с помощью специальной утилиты, Microsoft планирует полностью отказаться от этой лазейки, так что останется только BIOS Setup. Впрочем, что касается Vista , то к моменту перехода на нее разработчики драйверов, наверняка, обзаведутся многопроцессорными машинами (поскольку других просто не останется в продаже) и будут тестировать свои творения в многопроцессорном окружении.

Еще один тонкий момент. Помнишь, мы выше говорили, что наиболее часто встречающаяся ошибка разработчиков драйверов - обращение к вытесняемой памяти на том уровне IRQL, на котором менеджер подкачки не работает, и если запрашиваемая страница отсутствует в памяти, наступает крах? Очевидным решением здесь будет увеличение оперативной памяти до того объема, при котором вытеснение страниц на диск практически не происходит. При нынешних ценах на память прикупить пару новых «плашек» может позволить себе практически каждый. Но существует и более доступное (и более элегантное) решение проблемы. Если параметр DisablePagingExecutive , находящийся в следующей ветке реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement , равен единице (по умолчанию нулю), ядерные компоненты вытесняться не будут. Поэтому просто запускаем «Редактор реестра», меняем этот заветный параметр и перезагружаемся (изменения вступают в силу только после перезагрузки), надеясь, что это поможет решить проблему сбоев.

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

Как проверить версию драйверов

Если пытаться разобраться, то станет ясным, что на компьютере должны быть установлены драйверы для всех устройств, как внешних (мышь, клавиатура, джойстик), так и встроенных (видеокарта, сетевой адаптер, процессор). Разработчики из Microsoft всеми силами пытаются облегчить жизнь пользователям, с каждым обновлением существенно расширяя внутреннюю базу драйверов, однако порой все равно приходится искать софт и вручную выполнять его инсталляцию. Сейчас будет представлено четыре способа, как проверить драйверы на Windows 7, 8 и 10.

Способ 1: официальные сайты производителей

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

Узнаем модель материнской платы

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

  1. Откройте окно «Выполнить». Для этого на клавиатуре нажмите кнопки Win+R.
  2. В появившемся окне введите и выполните ее, нажав «ОК».
  3. Появится окно «Командной строки». В нем поочередно пропишите две команды: wmic baseboard get Manufacturer и wmic baseboard get product.
  4. В выдачи на первую команду будет указан производитель платы, на вторую - ее модель.

Запомните название, оно понадобится для поиска соответствующего драйвера.

Узнаем модель видеокарты и процессора

Узнать производителя и модель видеочипа и процессора можно практически таким же способом:

  1. Откройте окно «Выполнить».
  2. Введите в него команду dxdiag.
  3. Нажмите «ОК».
  4. В появившемся окне перейдите во вкладку «Экран».
  5. В категории «Устройство» напротив строк «Имя», «Изготовитель» и «Тип микросхем» будет указана соответствующая информация, касающаяся процессора компьютера.
  6. Перейдите во вкладку «Преобразователь».
  7. По аналогии с процессором, на не будет указана вся необходимая информация о видеокарте.

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

Ищем драйверы

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

  1. Перейдите в любую поисковую систему.
  2. Пропишите название и модель компонента, нуждающегося в обновлении.
  3. Зайдите на официальный сайт производителя.
  4. В интерфейсе сайта найдите поисковую строку и выполните запрос с названием устройства.
  5. В выдаче отыщите соответствующий драйвер.
  6. Загрузите его на компьютер.
  7. Установите.

Вот так вот просто можно обновить основные компоненты компьютера. Теперь вы знаете первый способ, как проверить драйверы компьютера, однако он далеко не последний.

Способ 2: программы для обновления драйверов

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

  1. Запустите программу.
  2. Нажмите кнопку «Сканировать».
  3. Дождитесь завершения этого процесса.
  4. По итогу будут отображены устройства, нуждающиеся в обновлении.
  5. Если вы хотите установить новые версии отдельного ПО, тогда нажмите «Установить» напротив соответствующего компонента.
  6. Если вы решили обновить сразу все компоненты, нажмите соответствующую кнопку на верхней панели программы.

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

Способ 3: онлайн-сервисы

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

  1. Откройте «Диспетчер устройств» и посмотрите в нем идентификатор устройства, драйвер для которого хотите скачать.
  2. Перейдите на онлайн-сервис по поиску драйверов по их ID.
  3. На главной странице введите в поисковую строку идентификатор и нажмите кнопку «Найти».
  4. В выдаче будет отображен список всех драйверов, подходящих для вашего оборудования.
  5. Выберите понравившийся и нажмите кнопку «Скачать».
  6. Установите.

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

Способ 4: обновление штатными средствами операционной системы

Требуется ли обновление, как проверить драйверы? Обновить их без использования дополнительного программного обеспечения можно и через утилиту «Диспетчер устройств».

  1. В поиске по системе впишите «Диспетчер устройств» и запустите соответствующую программу из результатов.
  2. В списке всех устройств выберите то, которое хотите обновить.
  3. Нажмите по нему правой кнопкой мыши.
  4. Выберите в меню пункт «Обновить драйверы».
  5. В новом окне нажмите кнопку «Обновить автоматически».

После этого компьютер самостоятельно постарается найти и установить новые версии драйверов для компонента. Этот способ не всегда эффективен, так как поиск ПО проходит по внутренней базе Microsoft.