Тестирование пакета драйвера (ручное развертывание)

В этой статье объясняется, как с помощью INF-файла установки драйвера вручную установить пакет драйвера на тестовом компьютере и проверить его установку и операцию.

Предпосылки

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

Обзор

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

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

Найдите выходные данные сборки для драйвера

  1. В проводник перейдите в папку, содержащую извлеченные файлы для примера. Например, для драйвера образца echo перейдите в C:\DriverSamples\general\echo\kmdf. В этой папке расположение скомпилированных файлов драйверов зависит от параметров конфигурации и платформы, выбранных в Configuration Manager. Если вы оставили параметры по умолчанию без изменений, то скомпилированные файлы драйверов сохраняются в папке с именем \x64\Debug 64-разрядной сборки отладки.

    Папка должна содержать следующие файлы:

    Файл Описание
    Echo.sys Файл двоичной системы драйвера.
    Echo.inf Файл сведений (INF), содержащий сведения, необходимые для установки драйвера.
    Echo.cer Файл сертификата .cer , созданный при проверке подписи драйвера.
    Echo.pdb Необязательные символы отладки драйвера для использования с отладчиком Windows.
  2. Найдите USB-диск или настройте сетевую папку для копирования созданных файлов драйверов из узла в целевую тестовую систему.

  3. Скопируйте файлы в целевую систему, чтобы установить и проверить драйвер.

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

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

Это важно

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

Отключение принудительного применения подписи драйвера в целевой системе

Перед развертыванием тестового подписанного драйвера подготовьте целевой компьютер, включив подписывание тестов.

В целевой системе включите тестовые драйверы со знаком:

  1. Откройте параметры Windows.

  2. В системе выберите "Восстановление".

  3. В разделе "Дополнительное запуск" выберите "Перезапустить сейчас".

  4. Когда компьютер перезагрузится, выберите параметры запуска. В Windows 10 выберите "Устранение неполадок>> запуска", а затем нажмите кнопку "Перезапустить".

  5. На экране "Параметры запуска " нажмите кнопку "Отключить принудительное применение подписи драйвера ", нажав клавишу F7.

  6. Перезапустите целевой компьютер.

Установка тестового сертификата

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

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

Вариант установки #1 . Щелкните правой кнопкой мыши INF-файл

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

На целевом компьютере откройте окно командной строки от имени администратора. Перейдите в папку пакета драйвера, щелкните правой кнопкой мыши INF-файл, например echo.inf-файл , а затем выберите "Установить".

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

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

Вариант установки #2 — средство Devcon

Могут возникнуть ситуации, когда использование средства командной строки, таких как PnPUtil или Devcon, может быть удобно для рабочего процесса разработки драйверов. В этом разделе описывается, как использовать средство DevCon для установки драйвера.

В системе узла перейдите в папку Tools в установке WDK и найдите средство DevCon. Например, просмотрите следующую папку: C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe.

Создайте папку в целевом объекте для встроенного пакета драйвера, например C:\EchoDriver. Скопируйте devcon.exe в целевую систему.

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

devcon install <INF file> <hardware ID>

В этом примере устанавливается драйвер эхо. INF-файл, необходимый для установки этого драйвера, — echo.inf. Inf-файл содержит идентификатор оборудования для установки echo.sys. Для примера эхо идентификатор оборудования является корневым\ECHO.

На целевом компьютере откройте окно командной строки от имени администратора. Перейдите в папку пакета драйвера и введите следующую команду:

devcon install echo.inf root\ECHO

Если появится сообщение об ошибке о том, что devcon не распознается, попробуйте добавить путь к инструменту devcon. Например, если вы скопировали его в папку с именем C:\Tools, попробуйте использовать следующую команду:

c:\tools\devcon install echo.inf root\ECHO

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

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

Подсказка

Если у вас возникли проблемы с установкой, дополнительные сведения см. в следующем файле. %windir%\inf\setupapi.dev.log

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

Диспетчер устройств

Используйте диспетчер устройств, чтобы убедиться, что вы успешно установили драйвер и что он загружен и работает.

  1. На целевом компьютере в окне командной строки введите команду devmgmt , чтобы открыть диспетчер устройств.

  2. В диспетчере устройств в меню "Вид " выберите "Устройства" по типу.

  3. В дереве устройств найдите драйвер, например Sample WDF Echo Driver в узле Sample Device.

Снимок экрана: дерево диспетчер устройств, в котором выделен пример эхо-драйвера WDF.

PnPUtil

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

  1. Откройте окно командной строки (запуск от имени администратора).

  2. Введите pnputil /? для просмотра параметров команды. Дополнительные сведения см. в синтаксисе команд PnPUtil .

  3. Используйте pnputil /enum-drivers /files, чтобы увидеть все файлы драйверов OEM.

  4. Используйте pnputil /enum-devices /problem /deviceids для отображения идентификаторов устройств с проблемами. В этом примере драйвер для платы OSR FX2 имеет активный код проблемы CM_PROB_UNSIGNED_DRIVER.

PS C:\WINDOWS\system32> pnputil /enum-devices /problem /deviceids
Microsoft PnP Utility

Instance ID:                USB\VID_0547&PID_1002\5&353525f&0&3
Device Description:         WDF Sample Driver (DMF Sample 1) for OSR USB-FX2 Learning Kit
Class Name:                 Sample
Class GUID:                 {78a1c341-4539-11d3-b88d-00c04fad5171}
Manufacturer Name:          OSR
Status:                     Problem
Problem Code:               52 (0x34) [CM_PROB_UNSIGNED_DRIVER]
Problem Status:             0xC0000428
Driver Name:                oem40.inf
Hardware IDs:               USB\VID_0547&PID_1002&REV_0000
                            USB\VID_0547&PID_1002
Compatible IDs:             USB\COMPAT_VID_0547&Class_FF&SubClass_00&Prot_00
                            USB\COMPAT_VID_0547&Class_FF&SubClass_00
                            USB\COMPAT_VID_0547&Class_FF
                            USB\Class_FF&SubClass_00&Prot_00
                            USB\Class_FF&SubClass_00
                            USB\Class_FF

Дополнительные примеры команд см. в примерах PnPUtil.

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

Используйте отладчик ядра Windows WinDbg, чтобы подключиться к драйверу и проверить его операцию. Дополнительные сведения см. в статье "Начало работы с отладкой Windows". Сведения о настройке целевого компьютера и настройке отладочного кабеля с помощью сетевого подключения см. в статье "Настройка автоматической отладки сетевого ядра KDNET"

Подсказка

Выгрузите драйвер, а затем используйте команду отладчика ядра Kdfiles (Set Driver Replacement Map) для копирования более новых версий драйвера для дальнейшего тестирования.