Prueba de controladores de preproducción con arranque seguro habilitado
En los sistemas de venta al por menor y producción, el kernel de Windows solo confía y carga controladores con una firma WHQL/WHCP de producción. Para probar los controladores de preproducción, es necesario que los desarrolladores de controladores habiliten TESTSIGNING
para permitir que los controladores que no sean de producción se carguen. TESTSIGNING
requiere deshabilitar el arranque seguro para presentar una diferencia en los entornos de prueba y producción.
El kernel de Windows admite la carga de controladores de preproducción firmados con la firma de preproducción WHQL/WHCP. La firma WHQL/WHCP es accesible a través del Centro para desarrolladores de hardware de Microsoft (HDC).
Requisitos previos
Firmar los controladores de preproducción con el panel de hardware del Centro de partners
Descargue EnableUefiSbTest.exe de la versión más reciente del Kit de controladores de Windows (WDK) o del Centro de descarga. La ubicación de configuración predeterminada de la herramienta EnableUefiSbTest es C:\Archivos de programa (x86)\Windows Kits\10\tools\{arch}\SecureBoot\EnableSB.
{arch}
puede ser una de las .{amd64, x86, arm, arm64}
Las directivas se encuentran en el mismo directorio SecureBoot:C:\Archivos de programa (x86)\Windows Kits\10\tools\{arch}\SecureBoot\Policies.
Habilitación de la compatibilidad con la firma WHQL/WHCP de preproducción
Una vez firmado el controlador, estará listo para aprovisionar un equipo de prueba donde instale el controlador.
Las herramientas de aprovisionamiento y la carga se proporcionan a partir de Windows 11, versión 22H2.
Se recomienda usar la herramienta EnableUefiSbTest. Como alternativa, puede aprovisionar manualmente la clave raíz de prueba de Microsoft desde la sección Pruebas manuales de arranque seguro de HLK (UefiSecureBootManualTests.zip\ManualTests\certs\test\db_MSFTtestSigningRoot.cer
). La clave de prueba de Microsoft debe incluirse en la base de datos de arranque seguro (DB) y en la directiva de configuración de arranque seguro (SBCP) para habilitar la confianza para la firma del controlador WHQL/WHCP de preproducción.
Nota:
Al aprovisionar cualquiera de las bases de datos de arranque seguro, nunca se firma una carga de producción con las claves de prueba de Microsoft dentro.
Pasos de aprovisionamiento
En el menú UEFI del sistema, deshabilite Arranque seguro y desactive las claves de arranque seguro, si procede. Esto permite que la herramienta de aprovisionamiento establezca las claves de prueba para confiar en el archivo de directiva de arranque seguro y volver a habilitar el arranque seguro.
Descargue el archivo .p7b de directiva de arranque seguro correcto, en función de la arquitectura del sistema y la herramienta de aprovisionamiento que lo acompaña, EnableUefiSbTest.exe, desde WDK. Para obtener la ubicación de la herramienta de aprovisionamiento, consulte Requisitos previos.
Ejecute el siguiente comando en una instancia con privilegios elevados de PowerShell o Terminal y compruebe que los valores PK, KEK, db, dbx y OemId están vacíos ("No encontrado"):
EnableUefiSbTest.exe /dump
Si el arranque seguro está deshabilitado y las claves se borran correctamente, se espera la siguiente salida:
EnableUefiSbTest.exe /dump Name: PK Not Found Name: KEK Not Found Name: db Not Found Name:dbx Not Found Name: OemId Not Found
Aprovisione las claves de prueba de arranque seguro en la base de datos de arranque seguro y vuelva a habilitar el arranque seguro mediante la ejecución del siguiente comando en una instancia con privilegios elevados de PowerShell o Terminal:
EnableUefiSbTest.exe
Nota:
EnableUefiSbTest.exe no generará ni devolverá nada después de ejecutarse correctamente.
Opcionalmente, especifique el
thirdparty
comando para aprovisionar el certificado de ca de UEFI de Microsoft junto con las claves predeterminadas de la base de datos de arranque seguro. Esto permite la confianza para los ejecutables EFI firmados por la CA de UEFI de Microsoft, como las ROM de opción y los cargadores de arranque que no son de Windows.EnableUefiSbTest.exe /thirdparty
En el caso de los dispositivos que ejecutan Windows basado en escritorio, monte la partición EFI del sistema y copie el archivo de directiva de arranque seguro (.p7b) en S:/EFI/Microsoft/Boot ejecutando el siguiente comando en una instancia con privilegios elevados de PowerShell o Terminal:
mountvol s: /s copy-item <path_to_p7b> S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
Nota:
Dado que el kernel de Windows requiere el archivo de directiva de arranque seguro en forma de
SecureBootPolicy.p7b
, el nombre y el formato de archivo no se deben modificar.En el caso de los dispositivos que no ejecutan Windows basado en escritorio, copie el correspondiente
PreProductionPolicy.pol
a\EFI\Microsoft\Boot\Policies
. A continuación, elimineFullDebugPolicy.pol
de\EFI\Microsoft\Boot\Policies
.Reinicie el sistema para permitir que el kernel de Windows actualice las directivas. El arranque seguro ahora se vuelve a habilitar y aprovisiona automáticamente mediante la herramienta de aprovisionamiento. Esto se puede validar mediante la rerución
EnableUefiSbTest.exe /dump
como administrador y validando que solo losdbx
valores yOemId
están vacíos ("No encontrado").El sistema está listo para validar el contenido del controlador firmado WHQL/WHCP de preproducción. Reiniciar el sistema no afectará al estado del dispositivo, siempre y cuando no se modifiquen las claves de arranque seguro y los archivos de directiva de arranque seguro.
Pasos de desaprovisionamiento
Para desaprovisionar el sistema y no participar en la confianza de firma de preproducción en el sistema:
Elimine los archivos de directiva de arranque seguro de la partición EFI montada mediante la ejecución de los siguientes comandos en una instancia con privilegios elevados de PowerShell o Terminal:
mountvol s: /s rm S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
Nota:
Si las validaciones se realizan en holoLens 2, los archivos de directiva .pol también deben quitarse de S:/EFI/Microsoft/Boot/Policies.
Inicie en el menú UEFI del sistema y vuelva a configurar las claves de arranque seguro en la configuración de fábrica.
Reinicie el sistema y ejecute
EnableUefiSbTest.exe /dump
, que debe devolver valores no válidos paraPK
los valores ,KEK
,db
ydbx
que indican que las claves se devolvieron al estado de fábrica.Nota:
Se recomienda limpiar la instalación de Windows en el sistema para desaprovisionar un sistema destinado a entornos comerciales.
Preguntas más frecuentes
P: El EnableUefiSbTest.exe /dump
comando solo muestra un resultado para PK
. ¿Hay algo incorrecto?
R: Esto sucede si la herramienta se ejecuta como un usuario estándar en lugar de como administrador.
P: El EnableUefiSbTest.exe /dump
comando devuelve un error que no reconozco. ¿Qué hago?
R: La herramienta puede producir un error cuando el arranque seguro no se ha deshabilitado correctamente o no se han borrado las claves de arranque seguro. Compruebe que el arranque seguro está deshabilitado.