Обзор процесса выбора пакета драйвера
Windows представляет пакет драйверов в виде узла драйвера, который включает в себя все средства поддержки программного обеспечения для устройства, такие как любые файлы, службы и записи реестра. Службы для устройства включают драйвер функции и все драйверы фильтров устройств верхнего и нижнего уровней.
Для некоторых устройств требуется предоставленный поставщиком пакет драйверов, разработанный специально для этого устройства или предназначенный для поддержки семейства устройств. Однако другие устройства могут управляться пакетом драйверов, предоставляемым системой, который поддерживает семейство устройств или все устройства заданного класса настройки устройства. Windows выбирает пакет драйверов, который наиболее точно соответствует устройству. Если Windows не находит такой пакет драйверов, она выбирает из более общих пакетов драйверов.
Как Windows ищет пакеты драйверов
Windows выполняет поиск пакетов драйверов , соответствующих устройству, в определенных расположениях. Пакет драйвера соответствует устройству, если выполняются следующие условия:
Один из идентификаторов оборудования (ID) или совместимых идентификаторов, сообщаемых драйвером шины для устройства, соответствует строке hw-id или compatible-id в записи раздела INF ModelsINF-файла пакета драйвера.
Оформление TargetOSVersionраздела Модели INF , содержащего соответствующую запись, применяется к версии операционной системы, в которой должно быть установлено устройство.
Дополнительные сведения о оформлении TargetOSVersion см. в разделе Объединение расширений платформы с версиями операционной системы.
Дополнительные сведения о том, где Windows ищет соответствующие драйверы, см. в разделе Где Windows ищет драйверы.
Как Windows ранжирует пакеты драйверов
Windows создает список всех совпадений в каждом применимом пакете драйверов и присваивает каждому совпадению ранг. Один пакет драйверов может содержать несколько совпадений для устройства, если пакет драйверов содержит несколько строк в записях раздела МОДЕЛИ INF , которые совпадают на устройстве. Windows представляет каждый пакет драйверов, соответствующий рангу, с целочисленным значением, которое больше или равно нулю.
Дополнительные сведения о процессе ранжирования см. в статье Как Windows ранжирует пакеты драйверов.
Начиная с Windows Vista, Windows также ранжирует пакеты драйверов в зависимости от того, имеет ли пакет драйвера цифровую подпись. Windows ранжирует пакеты драйверов на основе цифровой подписи следующим образом:
Если групповая политика AllSignersEqual отключен, Windows ранжирует пакеты драйверов, подписанные подписью Майкрософт, выше, чем пакеты драйверов, подписанные подписью Authenticode. Такое ранжирование происходит, даже если пакет драйвера, подписанный сигнатурой Authenticode, во всех остальных аспектах лучше подходит для устройства.
Если включена групповая политика AllSignersEqual, Windows ранжирует все пакеты драйверов с цифровой подписью одинаково.
Примечание
Начиная с Windows 7 групповая политика AllSignersEqual включена по умолчанию. В Windows Vista и Windows Server 2008 групповая политика AllSignersEqual по умолчанию отключена. ИТ-отделы могут переопределить поведение ранжирования по умолчанию, включив или отключив групповая политика AllSignersEqual.
К подписям из центра подписывания Windows относятся следующие:
Сигнатуры Windows Hardware Quality Labs (WHQL) уровня "Премиум" и стандартные подписи WHQL
Сигнатуры для пакетов драйверов папки "Входящие"
Сигнатуры Windows Sustained Engineering (Windows SE)
Сигнатура WHQL для версии Windows, которая совпадает со значением LowerLogoVersion класса установки устройства пакета драйверов или выше.
Выбор пакетов драйверов в Windows
Windows выбирает соответствие пакета драйвера с наименьшим рангом в качестве наилучшего соответствия для устройства.
Однако при наличии нескольких совпадений с одинаковым рейтингом пакетов драйверов, которые лучше всего подходят для устройства, Windows использует дату и версию пакета драйверов для выбора драйвера. Дата и версия драйвера задаются директивой INF DriverVer , содержащейся в INF-файле пакета драйверов.
Windows использует следующие критерии для выбора соответствия пакета драйверов для устройства:
Windows выбирает соответствие пакета драйвера, которое имеет наименьшее значение ранга в качестве наилучшего соответствия для устройства.
Для соответствия пакетов драйверов с одинаковым рангом Windows выбирает пакет драйверов с самой последней датой.
Для пакетов драйверов с одинаковым рангом и датой Windows выбирает пакет драйверов с наивысшей версией.
Для пакетов драйверов с одинаковым рангом, датой и версией Windows может выбрать любой пакет драйверов.
Внимание!
Несмотря на то, что дата в пакете драйверов имеет более высокий приоритет в ранжировании, чем версия, рекомендуется обновлять как версию, так и дату при каждом изменении пакета драйвера. Дополнительные сведения см. в статье Рекомендации по именованию и управлению версиями INF-файла .