Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В розничных и производственных системах ядро Windows доверяет и загружает только драйверы с производственной сигнатурой WHQL/WHCP. Чтобы протестировать драйверы предварительной версии, необходимо, чтобы разработчики драйверов включили TESTSIGNING
для разрешения загрузки непроизводственных драйверов.
TESTSIGNING
требует отключения безопасной загрузки, чтобы представить разницу в тестовых и рабочих средах.
Ядро Windows поддерживает загрузку драйверов предварительной версии, подписанных предварительной подписью WHQL/WHCP. Подпись WHQL/WHCP доступна через Центр разработчиков оборудования Майкрософт (HDC).
Предпосылки
Скачайте EnableUefiSbTest.exe из последней версии комплекта драйверов Windows (WDK) или из центра загрузки . Расположение установки EnableUefiSbTest по умолчанию — C:\Program Files (x86)\Windows Kits\10\tools\{arch}\SecureBoot\EnableSB.
{arch}
может быть одним из{amd64, x86, arm, arm64}
. Политики находятся в том же каталоге SecureBoot:C:\Program Files (x86)\Windows Kits\10\tools\{arch}\SecureBoot\Policies.
Включите поддержку предпроизводственной подписи WHQL/WHCP
После предподготовительной подписи драйвера вы будете готовы подготовить тестовый компьютер, куда будет установлен драйвер.
Средства настройки и содержимое предоставляются начиная с Windows 11 версии 22H2.
Рекомендуется использовать средство EnableUefiSbTest. Кроме того, вы можете вручную подготовить ключ корневого сертификата Microsoft Test из раздела «Ручные тесты безопасной загрузки HLK» (UefiSecureBootManualTests.zip\ManualTests\certs\test\db_MSFTtestSigningRoot.cer
). Ключ теста Майкрософт должен быть включен в базу данных безопасной загрузки (DB) и политику конфигурации безопасной загрузки (SBCP), чтобы включить доверие к препроизводственной сигнатуре драйвера WHQL/WHCP.
Примечание.
При настройке любой из баз данных Secure Boot никогда не подписывайте данные в производственном окружении с использованием тестовых ключей Microsoft.
Действия по подготовке
В меню UEFI системы отключите безопасную загрузку и снимите ключи безопасной загрузки, если это применимо. Это позволяет средству подготовки задать тестовые ключи для доверия к файлу политики безопасной загрузки и повторно включить безопасную загрузку.
Скачайте правильный .p7b файл политики безопасной загрузки в зависимости от системной архитектуры и сопутствующее средство подготовки EnableUefiSbTest.exeиз комплекта WDK. Расположение средства развертывания см. в разделе Предварительные требования.
Выполните следующую команду в экземпляре PowerShell или Терминала с повышенными привилегиями и убедитесь, что значения PK, KEK, db, dbx и OemId пусты ("Не найдено"):
EnableUefiSbTest.exe /dump
Если безопасная загрузка отключена и ключи успешно очищаются, ожидается следующий вывод.
EnableUefiSbTest.exe /dump Name: PK Not Found Name: KEK Not Found Name: db Not Found Name:dbx Not Found Name: OemId Not Found
Подготовьте ключи безопасной загрузки в базу данных Secure Boot и повторно включите безопасную загрузку, выполнив следующую команду в экземпляре PowerShell или терминала с повышенными привилегиями:
EnableUefiSbTest.exe
Примечание.
EnableUefiSbTest.exe не будет выводить и возвращать ничего после успешного выполнения.
При необходимости укажите команду
thirdparty
для добавления сертификата ЦС Microsoft UEFI наряду со стандартными ключами в базу данных безопасной загрузки. Это позволяет доверять EFI-исполняемым файлам, подписанным Удостоверяющим Центром Microsoft UEFI, таким как опционные ПЗУ и загрузчики, отличные от Windows.EnableUefiSbTest.exe /thirdparty
Для устройств, работающих на настольной версии Windows, подключите системный раздел EFI и скопируйте файл политики Secure Boot (.p7b) в S:/EFI/Microsoft/Boot, выполнив следующую команду в PowerShell или Терминале с повышенными привилегиями:
mountvol s: /s copy-item <path_to_p7b> S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
Примечание.
Так как для ядра Windows требуется файл политики безопасной загрузки в виде
SecureBootPolicy.p7b
, имя и формат файла не должны быть изменены.Для устройств, не работающих под управлением настольной версии Windows, скопируйте соответствующие
PreProductionPolicy.pol
в\EFI\Microsoft\Boot\Policies
. Затем удалитеFullDebugPolicy.pol
из\EFI\Microsoft\Boot\Policies
.Перезагрузите систему, чтобы разрешить ядру Windows обновлять политики. Безопасная загрузка теперь снова включена и подготовлена автоматически средством подготовки. Это можно проверить путем повторного запуска
EnableUefiSbTest.exe /dump
от имени администратора и проверки того, что только значенияdbx
иOemId
пусты ("Не найдено").Система готова проверить содержимое подписанного в препроизводстве драйвера WHQL/WHCP. Перезагрузка системы не влияет на состояние устройства, пока ключи безопасной загрузки и файлы политики безопасной загрузки не изменяются.
Этапы удаления доступа
Чтобы отменить подготовку системы и отказаться от предварительной подписи доверия к системе:
Удалите файлы политики безопасной загрузки из подключенной секции EFI, выполнив следующие команды в экземпляре PowerShell или терминале с повышенными привилегиями:
mountvol s: /s rm S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
Примечание.
Если проверки выполняются в HoloLens 2, файлы политики .pol также должны быть удалены из S:/EFI/Microsoft/Boot/Policies.
Зайдите в меню UEFI системы и перенастройте ключи безопасной загрузки на заводские настройки.
Перезагрузите систему и запустите
EnableUefiSbTest.exe /dump
, которые должны возвращать значения nonempty дляPK
,KEK
,db
иdbx
значений, указывающих, что ключи были возвращены в состояние фабрики.Примечание.
Рекомендуется очистить установку Windows в системе, чтобы удалить систему, предназначенную для розничных сред.
Вопросы и ответы
вопрос: команда EnableUefiSbTest.exe /dump
отображает только результат для PK
. Что-то не так?
A: Это происходит, если средство выполняется как стандартный пользователь вместо администратора.
вопрос: команда EnableUefiSbTest.exe /dump
возвращает ошибку, которую я не распознаю. Чем я занимаюсь?
A: может возникать ошибка, возникаемая средством, если безопасная загрузка не была успешно отключена и (или) ключи безопасной загрузки не были удалены. Убедитесь, что безопасная загрузка отключена.