Compartir a través de


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

  1. 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.

  2. 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.

  3. 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
    
  4. 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
    
  5. 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.

  6. 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, elimine FullDebugPolicy.pol de \EFI\Microsoft\Boot\Policies.

  7. 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 los dbx valores y OemId están vacíos ("No encontrado").

  8. 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:

  1. 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.

  2. Inicie en el menú UEFI del sistema y vuelva a configurar las claves de arranque seguro en la configuración de fábrica.

  3. Reinicie el sistema y ejecute EnableUefiSbTest.exe /dump, que debe devolver valores no válidos para PKlos valores , KEK, dby dbx 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.