Скачивание пакета драйверов Windows (WDK) — Windows drivers
- Статья
- Чтение занимает 4 мин
Примечание
Обязательно используйте Visual Studio 17.4.1 или более поздней версии. В частности, отладка драйверов в Visual Studio не работает с Visual Studio 17.2.0 до версии 17.4.1. Дополнительные сведения см. в разделе Известные проблемы WDK.
WDK используется для разработки, тестирования и развертывания драйверов для Windows.
- Узнайте о новых возможностях разработки драйверов
- Просмотр известных проблем
Присоединяйтесь к программе предварительной оценки Windows , чтобы получить сборки WDK Insider Preview.
Начиная с Windows 11 версии 22h3 WDK и EWDK, комплекты поддерживают:
- Исключительно Visual Studio 2022
- Создание и тестирование драйверов в режиме ядра для x64 и Arm64
- Создание и тестирование драйверов для Windows 10, Windows Server 2016 и более поздних версий клиента и сервера
- Параллельная поддержка (SxS) с предыдущими версиями WDK/EWDK
Несколько WDK и EWDK могут быть установлены одновременно на одном компьютере и даже входить в одну и ту же систему сборки. Вы можете запустить Windows 11 версии 22h3 WDK в Windows 7 и более поздних версиях.
Для Windows 8.1, Windows 8 и Windows 7 установите более старую версию WDK и более раннюю версию Visual Studio на том же компьютере или на отдельном компьютере. Ссылки на более старые комплекты см. в разделе Другие загрузки WDK.
Некоторые стеки устройств (например, графические) по-прежнему имеют компоненты пользовательского режима x86/ARM32 для поддержки приложений x86/ARM32.
Начиная с этого выпуска распространяемые установщики WDF больше не поддерживаются. Сведения о том, как обойти это изменение, см. в статье Известные проблемы WDK.
Скачивание и установка Windows 11 версии 22h3 WDK
Шаг 1. Установка Visual Studio 2022
Для WDK требуется Visual Studio. Дополнительные сведения о требованиях к системе для Visual Studio см. в статье Требования к системе Visual Studio 2022.
Следующие выпуски Visual Studio 2022 поддерживают разработку драйверов для этого выпуска:
- Скачать Visual Studio Community 2022
- Скачать Visual Studio Professional 2022
- Скачать Visual Studio Enterprise 2022
При установке Visual Studio 2022 выберите рабочую нагрузку Разработка классических приложений на C++ . Пакет sdk Windows 11 версии 22h3, совместимый с Windows 11 версии 22h3 WDK, не входит в состав Visual Studio. Используйте ссылку для скачивания пакета SDK на шаге 2 ниже.
WDK включает устранение рисков Spectre по умолчанию, но требует, чтобы библиотеки с устранением рисков Spectre устанавливались вместе с Visual Studio для каждой архитектуры, для которого вы разрабатываете. Кроме того, при разработке драйверов для Arm/Arm64/Arm64EC необходимо, чтобы средства сборки для этих архитектур также устанавливались вместе с Visual Studio. Чтобы найти эти элементы, необходимо знать последнюю версию MSVC, установленную в вашей системе.
Чтобы найти последнюю версию MSVC, установленную в вашей системе, на странице Visual Studio Installer перейдите на страницу рабочей нагрузки. В правой области в разделе сведения об установке
разверните узел Разработка классических приложений на C++ и найдите средства сборки MSVC версии 143 — VS 2022 C++ x64/x86 (последняя версия).Используя эти сведения (Последние), перейдите в раздел Отдельные компоненты и выполните поиск по запросу Последние. При этом будут возвращены наборы инструментов для всех архитектур, включая библиотеки с устранением рисков Spectre. Выберите архитектуру драйверов, для которых вы разрабатываете.
Например, при поиске последних возвращается следующее:
MSVC v143 - VS 2022 C++ Arm build tools (Latest) MSVC v143 - VS 2022 C++ Arm Spectre-mitigated libs (Latest) MSVC v143 - VS 2022 C++ Arm64 build tools (Latest) MSVC v143 - VS 2022 C++ Arm64 Spectre-mitigated libs (Latest) MSVC v143 - VS 2022 C++ Arm64EC build tools (Latest - experimental) MSVC v143 - VS 2022 C++ Arm64EC Spectre-mitigated libs (Latest - experimental) MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) MSVC v143 - VS 2022 C++ x64/x86 Spectre-mitigated libs (Latest)
Шаг 2. Установка пакета SDK Windows 11 версии 22h3
- Скачивание пакета SDK Windows 11 версии 22h3
Этот пакет SDK должен устанавливаться отдельно, пока он не будет доступен через Visual Studio.
Шаг 3. Установка Windows 11 версии 22h3 WDK
- Скачать WDK для Windows 11 версии 22h3
Расширение WDK Visual Studio входит в установку WDK по умолчанию.
Совет
Если вы не можете найти шаблоны проектов драйверов в Visual Studio, расширение WDK Visual Studio установлено неправильно. Чтобы устранить эту проблему, запустите файл WDK.vsix из следующего расположения: C:\Program Files (x86)\Windows Kits\10\Vsix\VS2022\10.0.22621.382\WDK.vsix.
Enterprise WDK (EWDK)
EWDK — это автономная автономная среда командной строки для создания драйверов. Он включает Visual Studio Build Tools, пакет SDK и WDK. Последняя общедоступная версия EWDK содержит средства сборки Visual Studio 2022 17.1.5 и набор инструментов MSVC версии 14.31. Чтобы приступить к работе, подключите ISO-файл и запустите LaunchBuildEnv.
Для EWDK также требуется платформа .NET Framework версии 4.7.2. Дополнительные сведения о других требованиях для платформа .NET Framework см. в разделе платформа .NET Framework требования к системе.
Windows 11, EWDK версии 22h3 с Visual Studio Build Tools
- Скачайте Windows 11 версии 22h3 EWDK
Интерфейс Visual Studio можно использовать с инструментами сборки, предоставляемыми в EWDK.
- Подключите ISO-файл EWDK.
- Выполните команду
LaunchBuildEnv.cmd
.- В среде, созданной на шаге 2, введите SetupVSEnv и нажмите клавишу ВВОД.
- Запустите devenv.exe из той же среды, используя полный путь к файлу. Пример:
"C:\Program Files\Microsoft Visual Studio\2022\%Community|Professional|Enterprise%\Common7\IDE\devenv.exe"
Обратите внимание, что основная версия Visual Studio должна соответствовать версии в EWDK. Например, Visual Studio 2022 работает с EWDK, содержащими VS17. Средства сборки X. Список номеров версий Visual Studio 2022 см. в разделе Выпуски Visual Studio 2022.
Примеры драйверов для Windows
Чтобы скачать примеры драйверов, выполните одно из следующих действий.
- Перейдите на страницу примеров драйверов на GitHub, щелкните Клонировать или скачать, а затем нажмите кнопку Скачать ZIP-файл.
- Скачайте расширение GitHub для Visual Studio и подключитесь к репозиториям GitHub.
- Просмотрите примеры драйверов на портале Microsoft Samples.
- Скачивание предварительной версии WDK Insider Preview
- Скачивание предыдущих версий WDK
- Скачивание комплекта средств оценки и развертывания Windows (Windows ADK)
- Скачивание windows HLK
- Скачивание средств отладки Windows (WinDbg)
- Скачивание пакетов символов Windows
См. также раздел
- требования к оборудованию Windows 11
Установка драйвера AMD для Radeon 7000/6000 «ломает» Windows 10/11 / Хабр
Компания AMD впервые за более чем два месяца выпустила унифицированный графический драйвер Adrenalin 23.2.1 WHQL для видеокарт Radeon RX 7900, RX 6000 и более старых моделей. Однако его установка привела к сбоям в работе систем на Windows 10/11 у пользователей.
Adrenalin Edition 23.2.1 официально поддерживает Forspoken и Dead Space. Драйвер обеспечивает до 7% более высокую производительность 4K в Forspoken и до 4% в Hogwarts Legacy по сравнению с предшественником. Больше всего улучшений показала F1 2022 — до 19%.
Также в драйвере добавлена поддержка компилятора IREE с использованием интерфейса MLIR на Vulkan и нескольких расширений. Это открывает для владельцев Radeon RX серии 6900 функции, ранее доступные только в серии 7900.
Благодаря обновлению AMD Link оптимизирована потоковая передача H.264 и H.265.
Новая версия OBS Studio будет поставляться с оптимизированным кодировщиком, предназначенным для видеокарт 6000-й и 7000-й серий.
При том, что AMD исправила множество проблем с драйвером Adrenalin, некоторые ошибки сохранились. Например, пользователи продолжают жаловаться на высокое энергопотребление в режиме ожидания на видеокартах Radeon RX серии 7000, связанное с мониторами с высоким разрешением и высокой частотой обновления. Некоторые по-прежнему видят снижение производительности в играх или приложениях виртуальной реальности. А производитель консолей AyaNeo сообщил, что ошибка в новом драйвере приводит к ограничению объёма доступной видеопамяти на игровых приставках AyaNeo 2 и AyaNeo Geek на Ryzen 7 6800U со встроенной графикой Radeon 680M на архитектуре RDNA 2. Обычно для Radeon 680M системой выделяется 3 или 6 Гбайт памяти, однако теперь он ограничивается 512 Мбайт. Пока единственным решением проблемы станет обновление BIOS. Пользователей также просят не выбирать опцию «Восстановление заводских настроек» при установке драйвера.
Кроме того, в Twitter и на Reddit стали появляться жалобы, что установка драйвера Adrenalin 23.2.1 WHQL в среде Windows 10 и Windows 11 приводит к серьёзным сбоям в работе ПК. При выборе во время установки опции «Восстановление заводских настроек» ОС после перезагрузки больше не загружается, а появляется «синий экран смерти» с ошибкой «Inaccessible Boot Device».
Причина указанной проблемы пока неизвестна. Вероятно, вместе с установкой графического драйвера пакет Adrenalin 23.2.1 WHQL приводит к некоторым изменениям настроек BIOS материнской платы.
AMD пока официально не комментировала ситуацию. Пользователи же рекомендуют перед установкой Adrenalin 23.2.1 WHQL сделать резервную копию данных, создать точку восстановления Windows для возможности отката обновления, а также зайти в BIOS материнской платы, проверить настройки, выставить прежние до установки драйвера, а затем попробовать снова перезагрузить ПК.
Осенью 2022 года, после выпуска Windows 11 версии 22h3, эксперты компании CapFrameX обнаружили падение производительности процессоров AMD Ryzen серии 7000 на базе Zen 4. В 2021 году аналогичная проблема была выявлена у процессоров серии Ryzen 5000 после выхода версии 21h3.
Компоненты пакета драйверов — драйверы Windows
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 3 минуты на чтение
Пакет драйверов включает в себя все программные компоненты, которые необходимо предоставить для обеспечения поддержки вашего устройства Windows. Обычно пакет драйверов содержит следующие компоненты:
INF-файл
Файл каталога
Файлы драйверов
Другие файлы
Далее следует краткое описание каждого компонента пакета драйверов.
WDK включает различные образцы пакетов драйверов. Дополнительные сведения см. в разделе Примеры файлов установки устройства
INF-файл
Каждый пакет драйвера должен включать INF-файл, который компоненты установки устройства считывают при установке устройства. Файл INF не является сценарием установки. Это текстовый файл в формате ASCII или Unicode (только UTF-16), в котором содержится информация об устройстве и драйвере, включая файлы драйвера, записи реестра, идентификаторы устройств, файлы каталогов и сведения о версии, необходимые для установки пакета драйверов на устройство.
Точное содержимое и формат файла INF зависят от класса установки устройства, к которому относится INF. Сводка разделов INF описывает информацию, которая требуется для каждого типа INF. Как правило, информация о производителях находится в разделе INF Models . Записи в разделе Models относятся к разделу INF DDInstall , который содержит сведения о конкретных моделях.
Средство InfVerif, входящее в состав \tools набора драйверов Microsoft Windows (WDK), проверяет синтаксис и структуру всех межклассовых разделов и директив INF, а также специфичные для класса расширения для всех классов установки, кроме Printers.
Начиная с Windows 2000, вы можете использовать один INF-файл для установки во всех версиях операционной системы Windows. Дополнительные сведения см. в разделе Создание INF-файлов для нескольких платформ и операционных систем. Если ваше устройство будет продаваться на международном рынке, вам следует создать международный INF-файл. В зависимости от задействованных мест, международный файл INF может быть файлом Unicode (UTF-16), а не ASCII.
Хороший способ создать INF-файл для вашего драйвера — изменить один из примеров, предоставляемых WDK. Большинство образцов драйверов WDK содержат INF-файлы в том же каталоге, что и образец драйвера.
Дополнительные сведения о файлах INF см. в разделе Создание файла INF, документации по InfVerif, документации по конкретным устройствам в WDK и файлах INF, поставляемых с примерами драйверов для устройств, подобных вашему.
Файл каталога
Файл каталога драйвера содержит криптографический хэш каждого файла в пакете драйвера. Windows использует эти хэши для проверки того, что пакет не был изменен после публикации. Чтобы гарантировать, что файл каталога не будет изменен, он должен быть снабжен цифровой подписью, которой будут доверять системы, использующие этот пакет драйверов.
Поставщик получает цифровые подписи выпуска, отправляя свой пакет драйвера в Лабораторию качества оборудования Windows (WHQL) для тестирования и подписания. WHQL возвращает пакет с файлом каталога (файл . cat ). Дополнительные сведения см. в разделе Подписи выпусков WHQL.
Сведения о том, как подписывать драйверы, см. в разделах Подписание драйверов для публичного выпуска и Подписание драйверов во время разработки и тестирования.
Файл INF должен ссылаться на файл каталога с CatalogFile в INF Версия , раздел INF.
Файлы драйвера
В большинстве случаев пакет драйвера будет содержать одну или несколько служб драйвера, которые должны быть частью стека устройства для устройства, на котором установлен пакет драйвера. Дополнительные сведения о службах драйверов см. в разделе Выбор модели драйвера. Служба драйвера — это часть пакета, предоставляющая интерфейс ввода-вывода для устройства. Обычно драйвер представляет собой библиотеку динамической компоновки (DLL) с расширением . sys расширение имени файла. Допускаются длинные имена файлов, за исключением драйверов начальной загрузки .
Программное обеспечение, необходимое для поддержки конкретного устройства, зависит от характеристик устройства и шины или порта, к которому оно подключено. Microsoft поставляет драйверы для многих распространенных устройств. Если ваше устройство может обслуживаться одним из этих драйверов, возможно, вам придется написать только мини-драйвер для конкретного устройства. Минидрайвер обрабатывает специфические функции устройства от имени системного драйвера. Для некоторых типов устройств даже минидрайвер не нужен. Например, модемы обычно поддерживаются только установочными файлами.
Другие файлы
Пакет драйвера также может содержать другие файлы, например параметры калибровки оборудования, службу Win32, значок устройства или файл библиотеки драйверов (например, для видеодрайверов). Дополнительные сведения см. в следующем разделе:
Предоставление значков для устройства
Обратная связь
Просмотреть все отзывы о странице
пакетов драйверов устройств | Microsoft Learn
- Статья
- 7 минут на чтение
Пакеты драйверов можно добавлять в образ Windows до, во время или после развертывания образа. При планировании добавления пакетов драйверов в развертывание Windows важно понимать, как пакеты драйверов добавляются в образ, как ранжирование драйверов влияет на развертывание, а также требования к цифровой подписи для пакетов драйверов.
Добавление пакетов драйверов
Вы можете добавить пакеты драйверов в образ Windows:
- Перед развертыванием в автономном образе Windows
- Во время автоматического развертывания
- После развертывания в работающей операционной системе
Дополнительные сведения см. в разделе Общие сведения о стратегиях обслуживания.
Добавление пакетов драйверов перед развертыванием в автономном образе Windows с помощью DISM
Автономное обслуживание — это изменение образа Windows полностью в автономном режиме без загрузки операционной системы. Вы можете использовать DISM для добавления, удаления и перечисления пакетов драйверов в автономном образе Windows или Windows PE. DISM устанавливается вместе с Windows, а также распространяется в составе комплекта для оценки и развертывания Windows (Windows ADK). Для получения дополнительной информации о DISM см. DISM — Технический справочник по обслуживанию образов развертывания и управлению ими для Windows.
Примечание
Вы не можете использовать DISM для удаления входящих пакетов драйверов (пакеты драйверов, которые устанавливаются в Windows по умолчанию), за исключением некоторых сетевых драйверов. Вы можете использовать его только для удаления сторонних или готовых пакетов драйверов.
Если вы используете DISM, вы можете добавить пакеты драйверов в автономный образ Windows.
Пакеты драйверов с логотипом Designed for Windows предоставляются в виде CAB-файлов. Если вы используете DISM для установки, вы должны развернуть CAB-файл перед установкой пакета драйверов.
Драйверы, упакованные в программу установки, могут быть установлены только в работающей операционной системе Windows. Чтобы установить эти типы драйверов, вы можете добавить пользовательскую команду в файл ответов для установки пакета драйверов. Дополнительные сведения см. в разделе Добавление пользовательской команды в файл ответов.
Примечание
Не рекомендуется запускать программу установки для добавления драйверов в образ. Если возможно, извлеките пакеты драйверов из установщика, чтобы вы могли использовать DISM для добавления их в свой образ.
Дополнительные сведения см. в разделе Добавление и удаление драйверов в автономный образ Windows.
Добавление пакетов драйверов во время автоматического развертывания с помощью программы установки Windows и файла ответов
Вы можете использовать автоматический файл ответов для добавления пакетов драйверов в образ при использовании программы установки Windows для развертывания. В этом файле ответов можно указать путь к пакету драйвера (сетевой ресурс или локальный путь) в компонентах Microsoft-Windows-PnpCustomizationWinPE или Microsoft-Windows-PnpCustomizationNonWinPE. Когда вы запускаете программу установки Windows и указываете имя файла ответов, стандартные пакеты драйверов помещаются в промежуточную среду (добавляются в хранилище драйверов на образе):
Используйте проходы конфигурации windowsPE или offlineServicing для добавления пакетов драйверов в образ Windows перед запуском компьютера. Вы также можете использовать этот метод для добавления пакетов драйверов, необходимых для загрузки системы, в образ Windows. Дополнительные сведения см. в разделе Добавление драйверов устройств в Windows во время установки Windows. Дополнительные сведения о работе программы установки Windows см. в Техническом справочнике по установке Windows.
Чтобы добавить пакеты драйверов, необходимые для загрузки в среду предустановки Windows, используйте кнопку Проход настройки windowsPE .
Способы добавления пакетов драйверов с помощью программы установки Windows включают:
- Использование файла ответов для добавления пакетов драйверов во время этапа настройки offlineServicing программы установки.
- Использование файла ответов для добавления пакетов драйверов во время этапа настройки windowsPE установки.
- Для Windows Server размещение пакетов драйверов в каталоге $WinPEDriver$ для автоматической установки в течение Конфигурационный проход windowsPE программы установки. Все буквы дисков со значением C или выше сканируются в поисках каталога $WinPEDriver$. Привод должен быть доступен для жесткого диска во время установки. Убедитесь, что для доступа к диску не требуется загрузка драйвера хранилища.
Дополнительные сведения об этих и других этапах настройки см. в разделе этапы настройки программы установки Windows.
Добавление пакетов драйверов после развертывания в работающей операционной системе с помощью PnPUtil или файла ответов
Вы можете использовать инструмент PnPUtil для добавления или удаления пакетов драйверов в работающей операционной системе. Кроме того, вы можете использовать файл ответов для автоматизации установки пакетов драйверов, когда компьютер загружается в режиме аудита. Эти методы могут быть полезны, если вы хотите поддерживать простой образ Windows, а затем добавлять только те пакеты драйверов, которые необходимы для конкретной конфигурации оборудования. Дополнительные сведения об использовании режима аудита см. в разделе Загрузка Windows в режиме аудита или OOBE.
Способы добавления пакетов драйверов онлайн в работающую операционную систему включают следующие:
Использование PnPUtil для добавления или удаления пакетов драйверов PnP. Дополнительные сведения см. в разделе Использование PnPUtil в командной строке для установки устройства Plug and Play.
Использование файла ответов для автоматизации установки пакетов драйверов PnP, когда компьютер загружается в режиме аудита. Дополнительные сведения см. в разделе Добавление драйвера через Интернет в режиме аудита.
Пакеты драйверов для режима S
Пакеты драйверов в режиме Windows S должны соответствовать определенным требованиям. Ознакомьтесь с требованиями к драйверу S для Windows 10, чтобы узнать о типах пакетов драйверов, которые можно добавить в Windows в режиме S.
Управление папками драйверов
Если вы добавляете несколько пакетов драйверов, вам следует создать отдельные папки в исходном расположении для каждого пакета драйвера или категории пакетов драйверов. Это гарантирует отсутствие конфликтов при добавлении пакетов драйверов с одинаковыми именами файлов. После установки пакета драйвера в операционной системе он переименовывается в Oem*.inf, чтобы обеспечить уникальные имена файлов в операционной системе. Например, промежуточные драйверы с именами MyDriver1.inf и MyDriver2.inf могут быть переименованы в Oem0.inf и Oem1.inf после их установки.
При указании пути к драйверу устройства в файле ответов все пакеты драйверов .inf в указанном каталоге и подкаталогах добавляются в хранилище драйверов образа Windows. Например, если вы хотите, чтобы все пакеты драйверов в каталогах C:\MyDrivers\Networking, C:\MyDrivers\Video и C:\MyDrivers\Audio были доступны в вашем образе Windows, укажите путь к драйверу устройства, C:\MyDrivers в вашем файле ответов. Если вы не используете файл ответов, вы можете использовать /recurse 9Команда 0050 в DISM. Дополнительные сведения о команде /recurse см. в разделе Параметры командной строки для обслуживания драйвера DISM. Эта команда гарантирует, что все пакеты драйверов в каждом подкаталоге будут добавлены в хранилище драйверов вашего образа Windows.
Если все пакеты драйверов в указанном каталоге и подкаталогах добавлены в образ, следует тщательно управлять файлом ответов или командами DISM и этими каталогами. Сделайте все возможное, чтобы решить проблему увеличения размера образа из-за ненужных пакетов драйверов.
Оценка рейтинга драйверов
Одна из наиболее распространенных проблем при развертывании пакетов драйверов возникает, когда пакет драйверов успешно импортирован в хранилище драйверов, но после подключения системы к сети PnP находит драйвер с лучшим рейтингом и вместо него устанавливает этот драйвер.
Диспетчер Windows PnP ранжирует эти свойства пакета драйверов в порядке важности:
- Подпись
- Идентификатор PnP совпадает с
- Дата водителя
- Версия драйвера
Например, если пакет драйверов имеет лучшее совпадение идентификатора PnP, но не имеет подписи, приоритет имеет подписанный пакет драйвера с совместимым идентификатором. Более старый пакет драйверов может превзойти более новый пакет драйверов, если более старый пакет драйверов имеет лучшее совпадение идентификатора PnP или подпись.
Дополнительные сведения о ранжировании пакетов драйверов см. в разделе Как Windows ранжирует драйверы.
Подписанные пакеты драйверов являются ключевой функцией безопасности в Windows. Пакеты драйверов, устанавливаемые в образ Windows, должны иметь цифровую подпись.
Все двоичные файлы службы запуска драйвера загрузки должны содержать встроенные подписи. Например, файлы .sys режима ядра, которые необходимы для доступа к загрузочному диску.
Двоичный файл драйвера может быть подписан двумя способами:
Двоичные файлы службы драйвера при загрузке имеют цифровую подпись с помощью метода, называемого встроенной подписью. Встроенные подписи улучшают производительность загрузки. Для двоичных файлов драйверов, которые не являются частью пакета драйвера PnP, должны быть встроены подписи, чтобы они не были потеряны во время обновления операционной системы.
Ваш комментарий будет первым