How to Disable Signature Enforcement during Development
During the early stages of development, developers can disable enforcement in Windows so that driver signing is not necessary. The following options are available for developers to disable digital signature enforcement temporarily so that Windows will load an unsigned driver.
Attaching a kernel debugger. Attaching an active kernel debugger to the target computer disables the enforcement module in Windows Vista and allows the driver to load.
Using the F8 option. An F8 boot option introduced with Windows VistaDisable Driver Signature Enforcementis available to disable the kernel-signing enforcement only for the current boot session. This setting does not persist across boot sessions.
Setting the boot configuration. A boot configuration setting is available for prerelease builds that allows the suppression of the enforcement module in Windows to be persisted across boot sessions.
Windows Vista includes a command-line tool, BCDedit, which can be used to set this option. To use BCDedit, the user must have Elevated User or Administrator privileges on the system. The most straightforward approach is to create a desktop shortcut to cmd.exe, and then right-click -> Run Elevated. The following shows an example of running BDCedit at the command prompt:
// Disable enforcement no signing checks
Bcdedit.exe set nointegritychecks ON
// Enable enforcement signing checks apply
Bcdedit.exe set nointegritychecks OFF
// Disabling integrity check on an alternate OS
// specified by a GUID for the system ID
Bcdedit.exe set {4518fd64-05f1-11da-b13e-00306e386aee} nointegritychecks ON
Note: The Bcdedit option to disable integrity checks is currently available for loading unsigned drivers on Windows Vista test systems. This feature will be removed prior to Windows Vista release to manufacturing (RTM), perhaps as early as Release Candidate 1 (RC1). The Windows Vista final release will not allow integrity checks to be disabled using Bcdedit. For more information, see the BCD Editor FAQ on the MSDN Web site.