Классы стандартных устройств Windows    Все современные компьютерные устройства имеют уникальные аппаратные идентификаторы ( PnP ID или просто ID ), в которых указываются производитель ( Vendor ID) , тип и класс устройства (Device ID). Идентификатор устройства может быть считан программно, и является исходной информацией для привязки соответствующего драйвера к данному устройству. Другими словами, PnP-ID – это код, который считывается средствами операционной системы (ОС) и используется для загрузки соответствующего драйвера. Если ОС не распознает идентификатор, или загрузка драйвера невозможна (нет нужных файлов, драйвер отключен или неверно задан параметр Start, определяющий тип его запуска), то использование данного устройства невозможно. А в случае, когда выполняется загрузка Windows, и на начальном этапе загрузки драйверов (с параметром Start = 0) возникает описанная выше ситуация c невозможностью использования драйвера дискового контроллера, то загрузка завершается критической ошибкой с кодом 0x0000007B Inaccessible Boot Device (Stop 7B). Данная ошибка довольно часто возникала в устаревших ОС Windows (XP-7) при замене материнских плат, когда идентификатор нового дискового контроллера не распознавался системой и загрузка нужного драйвера была невозможна. Однако, подобная ситуация не может быть полностью исключена и на современных ОС Windows 10-11.
Идентификатор устройства можно посмотреть в диспетчере устройств, выбрав ”Свойства” - ”Сведения” - ”ИД оборудования”. Например, для стандартного дискового контроллера AHCI :
При установке драйвера устройства используется специальные INF-файлы, в которых
содержится информация об идентификаторе, файлах драйвера и классе устройства.
Символ точки с запятой (;), в inf-файлах используется в качестве признака начала поля комментария.
Строка символов, заключенная в квадратные скобки указывает на секцию inf-файла, которая может содержать один или несколько параметров. Как минимум,
в inf-файлах присутствуют параметры, определяющие операционную систему, для установки в которую предназначен драйвер, класс устройств, который
должен обслуживать данный драйвер, имена файлов драйвера и аппаратные идентификаторы устройств (ИД оборудования), которые обслуживаются данным драйвером.
В представленном выше примере, приведены фрагменты inf-файла для стандартного дискового SATA контроллера, который может обслуживать несколько десятков устройств разных производителей,
объединенных в класс контроллеров жестких дисков ( Class=hdc ) с глобальным уникальным идентификатором ClassGuid={4D36E96A- E325-11CE-BFC1- 08002BE10318}.
Перечень GUID классов стандартных устройств Windows
Существующий в конкретной операционной системе, набор драйверов, определяется содержимым
каталога C:\Windows\ System32\ DriverStore\ FileRepository\. Так, например, файлы необходимые для установки стандартного дискового контроллера Microsoft,
хранятся в папке, имя которой начинается с mshdc.inf_. Примерный список файлов для Windows 7:
aliide.sys
Стандартный контроллер SATA от Microsoft в Windows 8-10 использует драйвер storahci.sys, в Windows 7 - msahci.sys. |
|