보안 부팅을 사용하도록 설정된 사전 프로덕션 드라이버를 테스트하는 방법
소매 및 프로덕션 시스템에서 Windows 커널은 프로덕션 WHQL/WHCP 서명이 있는 드라이버만 신뢰하고 로드합니다. 사전 프로덕션 드라이버를 테스트하려면 드라이버 개발자가 비프로덕션 드라이버를 로드할 수 있도록 설정 TESTSIGNING
해야 합니다. TESTSIGNING
에서는 테스트 및 프로덕션 환경의 차이를 표시하기 위해 보안 부팅을 사용하지 않도록 설정해야 합니다.
Windows 커널은 WHQL/WHCP 사전 프로덕션 서명으로 서명된 사전 프로덕션 드라이버 로드를 지원합니다. WHQL/WHCP 서명은 MICROSOFT HDC(하드웨어 개발자 센터)를 통해 액세스할 수 있습니다.
필수 조건
최신 버전의 WDK(Windows 드라이버 키트) 또는 다운로드 센터에서 EnableUefiSbTest.exe 다운로드합니다. 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 도구를 사용하는 것이 좋습니다. 또는 HLK 보안 부팅 수동 테스트 섹션(UefiSecureBootManualTests.zip\ManualTests\certs\test\db_MSFTtestSigningRoot.cer
)에서 Microsoft Test Root 키를 수동으로 프로비전할 수 있습니다. 사전 프로덕션 WHQL/WHCP 드라이버 서명에 대한 트러스트를 사용하려면 Microsoft 테스트 키를 DB(Secure Boot Database) 및 SBCP(보안 부팅 구성 정책)에 포함해야 합니다.
참고 항목
보안 부팅 데이터베이스를 프로비전할 때는 프로덕션에서 내부 Microsoft 테스트 키를 사용하여 페이로드에 서명하지 않습니다.
프로비전 단계
시스템의 UEFI 메뉴에서 보안 부팅을 사용하지 않도록 설정하고 해당하는 경우 보안 부팅 키를 선택 취소합니다. 이렇게 하면 프로비전 도구가 보안 부팅 정책 파일을 신뢰하도록 테스트 키를 설정하고 보안 부팅을 다시 사용하도록 설정할 수 있습니다.
WDK에서 시스템 아키텍처 및 함께 제공되는 프로비저닝 도구 EnableUefiSbTest.exe 따라 올바른 보안 부팅 정책 .p7b 파일을 다운로드합니다. 프로비저닝 도구의 위치는 필수 구성 요소를 참조 하세요.
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
보안 부팅 테스트 키를 보안 부팅 db에 프로비전하고 PowerShell 또는 터미널의 관리자 권한 인스턴스에서 다음 명령을 실행하여 보안 부팅을 다시 사용하도록 설정합니다.
EnableUefiSbTest.exe
참고 항목
EnableUefiSbTest.exe 성공적으로 실행된 후에는 아무것도 출력/반환하지 않습니다.
필요에 따라 보안 부팅 DB의
thirdparty
기본 키와 함께 Microsoft UEFI CA 인증서를 프로비전하는 명령을 지정합니다. 이렇게 하면 옵션 ROM 및 비 Windows 부팅 로더와 같은 Microsoft UEFI CA 서명 EFI 실행 파일을 신뢰할 수 있습니다.EnableUefiSbTest.exe /thirdparty
데스크톱 기반 Windows를 실행하는 디바이스의 경우 시스템의 EFI 파티션을 탑재하고 PowerShell 또는 터미널의 관리자 권한 인스턴스에서 다음 명령을 실행하여 S:/EFI/Microsoft/Boot에 보안 부팅 정책(.p7b) 파일을 복사합니다.
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
값OemId
과 값만dbx
비어 있는지 확인하여 유효성을 검사할 수 있습니다("찾을 수 없음").시스템에서 사전 프로덕션 WHQL/WHCP 서명된 드라이버 콘텐츠의 유효성을 검사할 준비가 되었습니다. 보안 부팅 키 및 보안 부팅 정책 파일이 수정되지 않는 한 시스템을 다시 부팅해도 디바이스의 상태에는 영향을 주지 않습니다.
프로비전 해제 단계
시스템을 프로비전 해제하고 시스템에서 사전 프로덕션 서명 트러스트를 옵트아웃하려면 다음을 수행합니다.
PowerShell 또는 터미널의 관리자 권한 인스턴스에서 다음 명령을 실행하여 탑재된 EFI 파티션에서 보안 부팅 정책 파일을 삭제합니다.
mountvol s: /s rm S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
참고 항목
HoloLens 2에서 유효성 검사를 수행하는 경우 .pol 정책 파일도 S:/EFI/Microsoft/Boot/Policies에서 제거해야 합니다.
시스템의 UEFI 메뉴로 부팅하고 보안 부팅 키를 공장 설정으로 다시 구성합니다.
시스템을 다시 부팅하고 실행
EnableUefiSbTest.exe /dump
합니다. 이 값은 < a0KEK
db
/>에 대해PK
비어 있지 않은 값을 반환하고dbx
키를 나타내는 값은 팩터리 상태로 반환됩니다.참고 항목
정품 환경을 위한 시스템을 프로비전 해제하려면 시스템에 Windows를 새로 설치하는 것이 좋습니다.
FAQ
Q: EnableUefiSbTest.exe /dump
명령에 대한 PK
결과만 표시됩니다. 무슨 문제가 있나요?
A: 도구가 관리자가 아닌 표준 사용자로 실행되는 경우에 발생합니다.
Q: 이 EnableUefiSbTest.exe /dump
명령은 인식할 수 없는 오류를 반환합니다. 어떻게 해야 합니까?
A: 보안 부팅을 사용하지 않도록 설정하지 않았거나 보안 부팅 키가 지워지지 않은 경우 도구에서 오류가 발생할 수 있습니다. 보안 부팅이 사용하지 않도록 설정되어 있는지 확인합니다.