заголовок

Выбор определенного драйвера устройства в Windows

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

Для определения ранга Windows XP проверяет наличие подписи и сравнивает коды оборудования и совместимые идентификаторы с идентификаторами, перечисленными в разделе [Models] INF-файла. Наилучшее соответствие устройству обеспечивается при наличии подписанного драйвера, для которого код оборудования совпадает с первым кодом оборудования из списка для устройства. Подписанные драйверы имеют ранг большей пригодности для устройства, чем неподписанные.

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

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

Схема ранжирования драйверов для Windows 2000

  1. Подписанный драйвер с точным совпадением всех четырех частей HW ID.
  2. Неподписанный драйвер с точным совпадением всех четырех частей HW ID.
  3. Подписанный драйвер с совпадением двух частей HW ID.
  4. Неподписанный драйвер с совпадением двух частей HW ID.

Схема ранжирования драйверов для Windows XP

  1. Подписанный драйвер с точным совпадением всех четырех частей HW ID.
  2. Подписанный драйвер с совпадением двух частей HW ID.
  3. Неподписанный драйвер с точным совпадением всех четырех частей HW ID (раздел INF декорирован в формате NT).
  4. Неподписанный драйвер с совпадением двух частей HW ID (раздел INF декорирован в формате NT).
  5. Неподписанный драйвер с точным совпадением всех четырех частей HW ID (раздел INF не декорирован).
  6. Неподписанный драйвер с совпадением двух частей HW ID (раздел INF не декорирован).

При совпадении рангов драйверов для устройства Windows XP сравнивает даты выпуска драйверов, указанные в строке версии DriverVer в INF-файле.

Дополнительные сведения о ранжировании драйверов системой Windows XP см. на веб-узле Windows Hardware and Driver Central (http://www.microsoft.com/whdc/) или в руководстве Microsoft Driver Development Kit (DDK). DDK можно заказать на веб-узле Microsoft DDK (http://www.microsoft.com/ddk/). Документация DDK также доступна для чтения в библиотеке MSDN (http://msdn.microsoft.com/library/). Для этого щелкните узел Windows Development, а затем — узел Driver Development Kit.

Использование файла Setupapi.log для устранения неполадок при выборе драйверов

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

Дополнительные сведения о файле Setupapi.log см. в руководстве Microsoft Windows Driver Development Kit или на веб-узле Windows Hardware Driver Central Web по адресу http://www.microsoft.com/whdc/hwdev/driver/setup/SetupAPI.mspx.

Расширение объема сведений в файле Setupapi.log

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

Чтобы увеличить объем сведений в файле Setupapi.log путем редактирования реестра

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

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup

Имя: LogLevel
Тип: REG_DWORD
Значение: 0xFFFF

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

Этот способ требует модификации установочных файлов Windows XP. При отсутствии дистрибутивного общего ресурса на сервере сети необходимо скопировать папку \I386 с компакт-диска Windows XP на локальный жесткий диск. Прежде чем продолжить, создайте резервную копию файла Hivesft.inf.

Чтобы увеличить объем сведений в файле Setupapi.log путем редактирования файла Hivesft.inf

  1. Найдите файл Hivesft.inf в папке \I386 на дистрибутивном общем ресурсе или локальном жестком диске, содержащем файлы Windows XP.
  2. С помощью текстового редактора (такого как «Блокнот») найдите в файле Hivesft.inf следующую строку:
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup","DriverCachePath",0x00020002,"%SYSTEMROOT%\Driver Cache"
    
  3. Под строкой, указанной в предыдущем шаге, добавьте следующую строку:
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup","LogLevel",0x00010003,0x0000FFFF
    

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

  4. В результате файл должен выглядеть, как в следующем примере. Убедитесь в этом перед сохранением файла на диске.
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup","DriverCachePath",0x00020002,"%SYSTEMROOT%\Driver Cache"
    
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup","LogLevel",0x00010003,0x0000FFFF
    
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\BaseWinOptions",,0x00000012 
    

    Сохраните файл и завершите работу текстового редактора.

Для любого процесса установки, инициированного из этого общего ресурса, будет включена запись сведений в файл Setupapi.log. На графическом этапе установки можно проверить, включен ли этот режим. Для этого нажмите клавиши SHIFT+F10 для открытия окна командной строки и запустите программу Regedit.exe, чтобы убедиться, что что соответствующее значение реестра было создано.

Примечания