Baca dalam bahasa Inggris

Bagikan melalui


Menginstal Driver Yang Tidak Ditandatangani selama Pengembangan dan Pengujian

Secara default, Windows Vista versi 64-bit dan versi Windows yang lebih baru akan memuat driver mode kernel hanya jika kernel dapat memverifikasi tanda tangan driver. Namun, perilaku default ini dapat dinonaktifkan selama pengembangan driver awal dan untuk pengujian non-otomatis. Pengembang dapat menggunakan salah satu mekanisme berikut untuk menonaktifkan penegakan waktu muat tanda tangan driver yang valid untuk sementara waktu. Namun, untuk sepenuhnya mengotomatiskan pengujian driver yang diinstal oleh Plug and Play (PnP), file katalog driver harus ditandatangani. Menandatangani driver diperlukan karena Windows Vista dan versi Windows yang lebih baru menampilkan kotak dialog penandatanganan driver untuk driver yang tidak ditandatangani yang memerlukan administrator sistem untuk mengotorisasi penginstalan driver, berpotensi mencegah pengguna mana pun tanpa hak istimewa yang diperlukan untuk menginstal driver dan menggunakan perangkat. Perilaku penginstalan pengandar PnP ini tidak dapat dinon-fungsikan pada Windows Vista dan versi Windows yang lebih baru.

Gunakan Opsi Boot Lanjutan F8

Windows Vista dan versi Windows yang lebih baru mendukung Opsi Boot Lanjutan F8 -- "Nonaktifkan Penegakan Tanda Tangan Driver" -- yang menonaktifkan penerapan tanda tangan waktu muat untuk driver mode kernel hanya untuk sesi sistem saat ini. Pengaturan ini tidak bertahan di seluruh hidupkan ulang sistem.

Melampirkan Debugger Kernel untuk Menonaktifkan Verifikasi Tanda Tangan

Melampirkan debugger kernel aktif ke pengembangan atau komputer pengujian menonaktifkan penegakan tanda tangan waktu muat untuk driver mode kernel. Untuk menggunakan konfigurasi penelusuran kesalahan ini, lampirkan komputer penelusuran kesalahan ke komputer pengembangan atau pengujian, dan aktifkan penelusuran kesalahan kernel pada komputer pengembangan atau pengujian dengan menjalankan perintah berikut:

bcdedit -debug on

Untuk menggunakan BCDEdit, pengguna harus menjadi anggota grup Administrator pada sistem dan menjalankan perintah dari prompt perintah yang ditinggikan. Untuk membuka jendela Wantian Perintah yang ditinggikan, buat pintasan desktop untuk Cmd.exe, pilih dan tahan (atau klik kanan) pintasan, dan pilih Jalankan sebagai administrator.

Memberlakukan Verifikasi Tanda Tangan Kernel-Mode dalam Mode Debugging Kernel

Namun, ada situasi di mana pengembang mungkin perlu melampirkan debugger kernel, namun juga perlu mempertahankan penegakan tanda tangan waktu muat. Misalnya, ketika tumpukan driver memiliki driver yang tidak ditandatangani (seperti driver filter) yang gagal memuatnya mungkin membatalkan seluruh tumpukan. Karena melampirkan debugger memungkinkan driver yang tidak ditandatangani untuk memuat, masalah tampaknya menghilang segera setelah debugger terpasang. Men-debug jenis masalah ini mungkin sulit.

Untuk memfasilitasi penelusuran kesalahan masalah tersebut, kebijakan penandatanganan kode mode kernel mendukung nilai registri berikut:

HKLM\SYSTEM\CurrentControlSet\Control\CI\DebugFlags

Nilai registri ini berjenis REG_DWORD, dan dapat diberi nilai berdasarkan bitwise ATAU dari satu atau beberapa bendera berikut:

0x00000001
Nilai bendera ini mengonfigurasi kernel untuk masuk ke debugger jika driver tidak ditandatangani. Pengembang atau penguji kemudian dapat memilih untuk memuat driver yang tidak ditandatangani dengan memasukkan g pada prompt debugger.

0x00000010
Nilai bendera ini mengonfigurasi kernel untuk mengabaikan keberadaan debugger dan untuk selalu memblokir driver yang tidak ditandatangani agar tidak dimuat.

Jika nilai registri ini tidak ada di registri atau memiliki nilai yang tidak didasarkan pada bendera yang dijelaskan sebelumnya, kernel selalu memuat driver dalam mode debugging kernel terlepas dari apakah driver ditandatangani.

Catatan Nilai registri ini tidak ada di registri secara default. Anda harus membuat nilai untuk men-debug verifikasi tanda tangan mode kernel.