Bagikan melalui


Cara menguji driver pra-produksi dengan Boot Aman diaktifkan

Pada sistem ritel dan produksi, kernel Windows hanya mempercayai dan memuat driver dengan tanda tangan WHQL/WHCP produksi. Untuk menguji driver pra-produksi, pengembang driver harus mengaktifkan TESTSIGNING driver non-produksi untuk memuat. TESTSIGNING memerlukan pennonaktifkan Boot Aman, untuk menyajikan perbedaan dalam lingkungan pengujian dan produksi.

Kernel Windows mendukung pemuatan driver pra-produksi yang ditandatangani dengan tanda tangan pra-produksi WHQL/WHCP. Tanda tangan WHQL/WHCP dapat diakses melalui Microsoft Hardware Developer Center (HDC).

Prasyarat

  • Menandatangani driver pra-produksi Anda dengan dasbor Perangkat Keras Pusat Mitra

  • Unduh EnableUefiSbTest.exe dari versi terbaru Windows Driver Kit (WDK) atau dari Pusat Unduhan. Lokasi penyiapan default alat EnableUefiSbTest adalah C:\Program Files (x86)\Windows Kits\10\tools\{arch}\SecureBoot\EnableSB. {arch} bisa menjadi salah satu dari {amd64, x86, arm, arm64}. Kebijakan terletak di bawah direktori SecureBoot yang sama:C:\Program Files (x86)\Windows Kits\10\tools\{arch}\SecureBoot\Policies.

Mengaktifkan dukungan untuk TANDA Tangan WHQL/WHCP pra-produksi

Setelah driver Anda ditandatangani pra-produksi, Anda siap untuk memprovisikan komputer uji di mana Anda akan menginstal driver.

Alat provisi dan payload disediakan mulai dari Windows 11, versi 22H2.

Penggunaan alat EnableUefiSbTest sangat disarankan. Atau, Anda dapat memprovisikan kunci Microsoft Test Root secara manual dari bagian HLK Secure Boot Manual Tests (UefiSecureBootManualTests.zip\ManualTests\certs\test\db_MSFTtestSigningRoot.cer). Kunci pengujian Microsoft harus disertakan dalam database Boot Aman (DB) dan Kebijakan Konfigurasi Boot Aman (SBCP) untuk mengaktifkan kepercayaan untuk tanda tangan driver WHQL/WHCP pra-produksi.

Catatan

Saat menyediakan salah satu database Boot Aman, jangan pernah produksi menandatangani payload dengan kunci pengujian Microsoft di dalamnya.

Langkah-langkah Provisi

  1. Di menu UEFI sistem, nonaktifkan Boot Aman dan hapus kunci Boot Aman, jika berlaku. Ini akan memungkinkan alat provisi untuk mengatur kunci pengujian untuk mempercayai file kebijakan Boot Aman dan mengaktifkan kembali Boot Aman.

  2. Unduh file .p7b kebijakan Boot Aman yang benar, tergantung pada arsitektur sistem, serta alat provisi yang menyertainya, EnableUefiSbTest.exe, dari WDK. Untuk lokasi alat provisi, lihat Prasyarat.

  3. Jalankan perintah berikut dalam instans PowerShell atau Terminal yang ditinggikan dan validasi bahwa nilai PK, KEK, db, dbx, dan OemId kosong ("Tidak Ditemukan"):

    EnableUefiSbTest.exe /dump
    

    Jika Boot Aman dinonaktifkan dan kunci telah berhasil dibersihkan, output berikut diharapkan:

    EnableUefiSbTest.exe /dump
    
    Name: PK
    Not Found
    
    Name: KEK
    Not Found
    
    Name: db
    Not Found
    
    Name:dbx
    Not Found
    
    Name: OemId
    Not Found
    
  4. Provisikan kunci uji Boot Aman ke db Boot Aman dan aktifkan kembali Boot Aman dengan menjalankan perintah berikut dalam instans PowerShell atau Terminal yang ditingkatkan:

    EnableUefiSbTest.exe
    

    Catatan

    EnableUefiSbTest.exe tidak akan menghasilkan/mengembalikan apa pun setelah berhasil berjalan.

    Secara opsional, tentukan perintah untuk menyediakan thirdparty sertifikat CA Microsoft UEFI bersama kunci default di Secure Boot DB. Hal ini akan memungkinkan kepercayaan untuk executable EFI yang ditandatangani CA Microsoft UEFI seperti opsi ROM dan bootloader non-Windows.

    EnableUefiSbTest.exe /thirdparty
    
  5. Untuk perangkat yang menjalankan Windows berbasis Desktop, pasang partisi EFI sistem dan salin melalui file Kebijakan Boot Aman (.p7b) ke S:/EFI/Microsoft/Boot dengan menjalankan perintah berikut dalam instans PowerShell atau Terminal yang ditingkatkan:

    mountvol s: /s
    copy-item <path_to_p7b> S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
    

    Catatan

    Karena kernel Windows memerlukan file kebijakan Boot Aman dalam bentuk SecureBootPolicy.p7b, nama dan format file tidak boleh dimodifikasi.

  6. Untuk perangkat yang tidak menjalankan Windows berbasis Desktop, salin yang sesuai dengan PreProductionPolicy.pol\EFI\Microsoft\Boot\Policies. Kemudian hapus FullDebugPolicy.pol dari \EFI\Microsoft\Boot\Policies.

  7. Reboot sistem untuk memungkinkan kernel Windows menyegarkan kebijakan. Boot Aman sekarang diaktifkan kembali dan disediakan secara otomatis oleh alat provisi. Ini dapat divalidasi dengan menjalankan EnableUefiSbTest.exe /dump kembali sebagai admin dan memvalidasi bahwa hanya dbx nilai dan OemId yang kosong ("Tidak Ditemukan").

  8. Sistem siap untuk memvalidasi konten driver yang ditandatangani WHQL/WHCP praproduksi. Me-reboot sistem tidak akan berdampak pada status perangkat, selama kunci Boot Aman dan file kebijakan Boot Aman tidak dimodifikasi.

Mencabut Akses Langkah-Langkah

Untuk mendeprovisi sistem dan menolak kepercayaan penandatanganan praproduksi pada sistem:

  1. Hapus file kebijakan Boot Aman dari partisi EFI yang dipasang dengan menjalankan perintah berikut dalam instans PowerShell atau Terminal yang ditingkatkan:

    mountvol s: /s
    rm  S:/EFI/Microsoft/Boot/SecureBootPolicy.p7b
    

    Catatan

    Jika validasi sedang dilakukan pada HoloLens 2, file kebijakan .pol juga harus dihapus dari S:/EFI/Microsoft/Boot/Policies.

  2. Boot ke menu UEFI sistem dan konfigurasi ulang kunci Boot Aman ke pengaturan pabrik.

  3. Reboot sistem dan jalankan EnableUefiSbTest.exe /dump, yang harus mengembalikan nilai yang tidak kosong untuk PK, KEK, db dan dbx nilai yang menunjukkan kunci dikembalikan ke status pabrik.

    Catatan

    Sebaiknya instal Windows secara bersih pada sistem untuk mendeprovisi sistem yang ditujukan untuk lingkungan ritel.

Tanya Jawab Umum

T: EnableUefiSbTest.exe /dump Perintah hanya menampilkan hasil untuk PK. Apakah ada yang salah?

A: Ini akan terjadi jika alat dijalankan sebagai pengguna standar alih-alih sebagai admin.

T: Perintah EnableUefiSbTest.exe /dump mengembalikan kesalahan yang tidak saya kenali. Apa yang harus saya lakukan?

A: Kesalahan dapat dilemparkan oleh alat ketika Boot Aman belum berhasil dinonaktifkan dan/atau kunci Boot Aman belum dibersihkan. Verifikasi bahwa Boot Aman dinonaktifkan.