Иллюстрированный самоучитель по автоматической установке Windows
Классы настройки устройств
Классы настройки устройств являются еще одним типом идентификаторов, использующихся для установки устройств. Производитель устройства указывает его класс в пакете драйверов. Классы настройки устройств определяют группы устройств, установка которых производится одинаково. Например, все приводы компакт-дисков принадлежат классу CDROM, и для их установки используется один и тот же совместный установщик. Каждый класс устройств определяется числом, называющимся глобальным уникальным кодом (GUID). При запуске ОС Windows в оперативной памяти создается древовидная структура, содержащая коды GUID всех обнаруженных в системе устройств. Помимо кода GUID класса устройства при необходимости Windows может добавить в эту структуру код GUID шины, к которой подключено данное устройство.
Когда Вы используете классы настройки для того, чтобы разрешить или запретить пользователям установку драйверов устройств, Вы должны указать коды GUID для всех классов устанавливаемых устройств. В противном случае Вы можете не получить желаемых результатов – установка может завершиться неудачно, в то время, когда предполагалось обратное, и наоборот.
Например, многофункциональное устройство, совмещающее в себе функции сканера, факса и принтера, может иметь основной код GUID, код GUID функции принтера, код GUID функции сканера и так далее. Коды GUID отдельных функциональных компонентов являются «дочерними элементами» кода GUID многофункционального устройства. Для установки дочерних элементов ОС Windows должна иметь возможность установить родительский элемент. Поэтому для разрешения установки любого класса устройств с дочерним кодом GUID (функции принтера и сканера) Вы должны разрешить установку класса многофункционального устройства, который имеет родительский код GUID.
Для получения дополнительной информации обратитесь к разделу Классы настройки устройств Device Setup Classes (EN) на веб-узле MSDN.
В данном руководстве не рассматриваются сценарии с использованием классов настройки устройств. Тем не менее, рассматриваемые здесь основные принципы работы с идентификаторами оборудования также применимы и к классам настройки устройств. После того, как Вы определите класс устройства, Вы можете использовать его при работе с групповыми политиками, запрещая или разрешая установку драйверов устройств, принадлежащих этому классу.
Классы стандартных устройств Windows
    Все современные компьютерные устройства имеют уникальные аппаратные идентификаторы ( PnP ID или просто ID ), в которых указываются производитель ( Vendor ID) , тип и класс устройства (Device ID). Идентификатор устройства может быть считан программно и является исходной информацией для привязки соответствующего драйвера к данному устройству. Идентификатор устройства можно посмотреть в диспетчере устройств, выбрав ”Свойства” — ”Сведения” — ”ИД оборудования”. Например, для стандартного контроллера AHCI :
Этот идентификатор относится к устройству на шине PCI , производства Intel (VEN_8086), которое относится к контроллерам жестких дисков (DEV_8C02). Остальные данные идентификатора (SUBSYS_78211462…) могут описывать некоторые особенности устройства, которые могут учитываться при его оптимальном использовании (например, версия прошивки). При установке драйвера устройства используется специальные INF-файлы, в которых содержится информация об идентификаторе, файлах драйвера и классе устройства.
; Copyright (c) Microsoft Corporation. All rights reserved.
[Version]
Signature=»$WINDOWS NT$»
Class=hdc
ClassGuid = <4d36e96a - e325 11ce bfc1 08002be10318>
Provider=%MS%
DriverVer=06/21/2006, 6.1.7601.17514
[SourceDisksNames]
3426=windows cd
Символ точки с запятой ( ; ), в inf-файлах используется в качестве признака начала поля комментария. Строка символов, заключенная в квадратные скобки указывает на секцию inf-файла, которая может содержать один или несколько параметров. Как минимум, в inf-файлах присутствуют параметры, определяющие операционную систему, для установки в которую предназначен драйвер, класс устройств, который должен обслуживать данный драйвер, имена файлов драйвера и аппаратные идентификаторы устройств (ИД оборудования), которые обслуживаются данным драйвером.
В представленном выше примере, приведены фрагменты inf-файла для стандартного дискового SATA контроллера, который может обслуживать несколько десятков устройств разных производителей, объединенных в класс контроллеров жестких дисков ( Class=hdc ) с глобальным уникальным идентификатором ClassGuid= <4d36e96a- e325-11ce-bfc1- 08002be10318>.
Каждое устройство в среде операционных систем семейства Windows принадлежит к какому-либо классу – контроллеров жестких дисков, видеоадаптеров, сетевых карт и т.п. Каждому классу соответствует глобальный уникальный идентификатор — Globally Unique Identifier (GUID) . Обозначается GUID в виде наборов шестнадцатеричных цифр, разделяемых дефисами для удобства записи, и заключенными в фигурные скобки.
Перечень GUID классов стандартных устройств Windows
Class | ClassGUID | Описание устройства |
---|---|---|
CDROM | 4D36E965 — E325 — 11CE — BFC1 -08002BE10318 | CD/DVD/Blu-ray drives |
DiskDrive | 4D36E967 — E325 — 11CE — BFC1 — 08002BE10318 | Hard drives |
Display | 4D36E968 — E325 — 11CE — BFC1 — 08002BE10318 | Video adapters |
FDC | 4D36E969 — E325 — 11CE — BFC1 — 08002BE10318 | Floppy controllers |
FloppyDisk | 4D36E980 — E325 — 11CE — BFC1 — 08002BE10318 | Floppy drives |
HDC | 4D36E96A — E325 — 11CE — BFC1 — 08002BE10318 | Hard drive controllers |
HIDClass | 745A17A0 — 74D3 — 11D0 — B6FE — 00A0C90F57DA | Some USB devices |
1394 | 6BDD1FC1 — 810F — 11D0 — BEC7 — 08002BE2092F | IEEE 1394 host controller |
Image | 6BDD1FC6 — 810F — 11D0 — BEC7 — 08002BE2092F | Cameras and scanners |
Keyboard | 4D36E96B — E325 — 11CE — BFC1 — 08002BE10318 | Keyboards |
Modem | 4D36E96D — E325 — 11CE — BFC1 — 08002BE10318 | Modems |
Mouse | 4D36E96F — E325 — 11CE — BFC1 — 08002BE10318 | Mice and pointing devices |
Media | 4D36E96C — E325 — 11CE — BFC1 — 08002BE10318 | Audio and video devices |
Net | 4D36E972 — E325 — 11CE — BFC1 — 08002BE10318 | Network adapters |
Ports | 4D36E978 — E325 — 11CE — BFC1 — 08002BE10318 | Serial and parallel ports |
SCSIAdapter | 4D36E97B — E325 — 11CE — BFC1 — 08002BE10318 | SCSI and RAID controllers |
System | 4D36E97D — E325 — 11CE — BFC1 — 08002BE10318 | System buses, bridges, etc. |
USB | 36FC9E60 — C465 — 11CF — 8056 — 444553540000 | USB host controllers and hubs |
Существующий в конкретной операционной системе, набор драйверов, определяется содержимым каталога C:\Windows\ System32\ DriverStore\ FileRepository\ . Так, например, файлы необходимые для установки стандартного дискового контроллера Microsoft, хранятся в папке, имя которой начинается с mshdc.inf_ . Примерный список файлов для Windows 7:
aliide.sys
amdide.sys
atapi.sys
ataport.sys
cmdide.sys
intelide.sys
msahci.sys
mshdc.inf
mshdc.PNF
pciide.sys
pciidex.sys
viaide.sys
Примерный список файлов для Windows 8-10:
atapi.sys
ataport.sys
intelide.sys
mshdc.inf
pciide.sys
pciidex.sys
storahci.sys
Стандартный контроллер SATA от Microsoft в Windows 8-10 использует драйвер storahci.sys , в Windows 7 — msahci.sys .
Полный набор INF-файлов, существующих в операционной системе Windows, хранится в каталоге C:\Windows\inf\ .
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
Классы устройств windows guid
Добрый день! Уважаемые читатели и подписчики IT блога Pyatilistnik.org. В данной статье я приведу один из методов извлечения цифрового идентификатора приложения из реестра Windows. Правильное название: статистически уникальный 128-битный идентификатор
Что такое GUID?
GUID — это аббревиатура, которая обозначает глобальный уникальный идентификатор , их также называют UUID или универсальные уникальные идентификаторы — между ними нет реальной разницы. Технически это 128-битные уникальные ссылочные номера, используемые в вычислениях, которые вряд ли будут повторяться при генерировании, несмотря на отсутствие центральных полномочий GUID для обеспечения уникальности.
GUID (глобальный уникальный идентификатор) — это термин, используемый Microsoft для числа, которое ее программа генерирует, чтобы создать уникальную идентичность для объекта, такого как документ Word. Идентификаторы GUID широко используются в продуктах Microsoft для идентификации интерфейсов, наборов реплик, записей и других объектов. Разные виды объектов имеют разные виды GUID — например, база данных Microsoft Access использует 16-байтовое поле для создания уникального идентификатора для репликации.
Типы GUID
Существует 5 версий идентификаторов GUID, определенных в RFC 4122 , каждая с разными свойствами. Чтобы определить версию GUID, просто посмотрите на цифру версии, например, GUID версии 4 имеют формат xxxxxxxx-xxxx- 4 xxx- N xxx-xxxxxxxxxxxx, где N — это одно 5 значений 4, 8,9, A или B.
- Версия 1: дата-время и MAC-адрес — Эта версия генерируется с использованием текущего времени и MAC-адреса клиента. Это означает, что если у вас есть GUID версии 1, вы можете выяснить, когда он был создан, проверив значение метки времени.
- Версия 2: DCE Security — Эта версия специально не определена в RFC 4122, поэтому не должна генерироваться совместимыми генераторами. Он аналогичен GUID версии 1, за исключением того, что первые 4 байта метки времени заменяются пользовательским UID или GID POSIX, а старший байт последовательности часов заменяется доменом UID / GID POSIX.
- Версия 3: MD5 хэш и пространство имен — Этот GUID генерируется путем взятия пространства имен (например, полного доменного имени) и заданного имени, преобразования в байты, объединения и хеширования. После указания специальных битов, таких как версия и вариант, полученные байты затем преобразуются в его шестнадцатеричную форму. Особое свойство этой версии заключается в том, что идентификаторы GUID, сгенерированные из одного и того же имени в одном и том же пространстве имен, будут идентичны, даже если они генерируются в разное время.
- Версия 4: случайная — Этот тип GUID создается с использованием случайных чисел — из 128 битов в GUID 6 зарезервированы для специального использования (версия + вариантные биты), что дает нам 122 бита, которые могут быть заполнены случайным образом. Спецификация не определяет, как должны генерироваться случайные числа, они могут быть любыми, от псевдослучайных до криптографически безопасных, поэтому эти GUID, как и все другие GUID, следует использовать только для идентификации, а не для безопасности.
- Версия 5: SHA-1 хэш и пространство имен — Эта версия идентична версии 3 за исключением того, что SHA-1 используется на этапе хеширования вместо MD5.
Разделы реестра, где нужно искать:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Uninstall
- HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ Microsoft\Windows\CurrentVersion\Uninstall
Как узнать GUID приложения
Пример вызова компонента Windows диспетчер устройств:
shell. <74246bfc-4c96-11d0-abef-0020af6b0b7a>,для запуска необходимо вызвать диалоговое окно «Выполнить» используя клавиши Win + R, прописать данный код и нажать«OK» Все значения
Как узнать из реестра GUID приложения в Windows -01
Раздел реестра HKEY_CLASSES_ROOTCLSID
Клавишами Win + R открываем диалоговое окно «Выполнить» вводим команду regedit — открыть редактор реестра. Для поиска
Пример: нам нужен
Как узнать из реестра GUID приложения в Windows -02
Для того, чтобы извлечь и проверить
Как узнать из реестра GUID приложения в Windows -03
Созданный файл реестра лучше всего открыть программой Notepad ++ познакомиться с которой можно в категории сайта «Офис».Если Вам понравился текстовой редактор Notepad ++ и Вы его установили, то правой клавишей мыши нажимаем на созданный файл реестра. В открывшемся меню выбираем «открыть с помощью Notepad ++ таким образом можно ознакомиться со структурой и синтаксисом файла реестра.
Как узнать из реестра GUID приложения в Windows -04
Выделяем значение, с помощью клавиш Ctrl + C копируем, вызываем диалоговое окно «Выполнить» и с помощью клавиш Ctrl + V вставляем, перед фигурными скобками прописываем Shell. и нажимаем«OK».
Как узнать из реестра GUID приложения в Windows -05
Как узнать GUID через PowerShell
Для того, чтобы вы могли быстро извлечь информацию, о GUID ,я могу вам предложить небольшой скрипт:
Еще один вариант воспользоваться вот такой конструкцией:
Тут мы еще вывели пути расположения MSI пакетов для удаления приложения и его ремонту.
Как узнать GUID через CMD
Откройте cmd от имени администратора и выполните команду, которая создаст на диске C:\ файл с отчетом