Windows7启动选项允许忽略未签名的驱动程序

时间:2011-02-08 01:32:12

标签: windows-7 driver signing

我正在学习Windows内核模式驱动程序开发。我编写了一个小型测试驱动程序,我可以在VirtualBox中的VM下运行的Windows 7 32位Ultima版本下成功注册,取消注册,加载和卸载。

我的主机是Windows 7 64位家庭高级版。

编译为64位的驱动程序不会在Windows 7 Home Edition下加载。我一直拒绝注意到这个版本的Windows不允许未签名的驱动程序。

我尝试了两件事:

  1. 我使用F8启动选项允许未签名的驱动程序(不起作用)

  2. 我以管理员身份运行CMD并执行以下两个命令

    bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

    bcdedit.exe -set TESTSIGNING ON

  3. 并重新启动。我的桌面在“TestMode”中显示我,但我仍然听到同样的拒绝。

    任何人都可以帮助我或解释家庭版是否还有其他步骤?

    ---- {update} ---- 在倾注了大量MSDN之后,看来我的解决方案就在于自我签署我创建的驱动程序。我下载的DDK似乎没有工具链来进行自我签名。我已经下载了WinDDK-7600.16385.1。但奇怪的是,如果我只是F8 @启动时间并告诉它允许未签名的驱动程序,我的Windows Ultima Edition会愉快地加载我的驱动程序。

2 个答案:

答案 0 :(得分:6)

您可以尝试使用Driver Signature Enforcement Overrider 64位版本的Windows 7支持它,并且我已经看到的报告确认它确实可以在“Home Premium”上运行版。

Driver Signature Enforcement Overrider screenshot

  
      
  1. 从以下链接下载该应用程序。右键单击它   选择“以管理员身份运行”。内   在其主菜单中,按“启用”   测试模式“按钮并按照   屏幕上的说明。这将   启用TESTSIGNING模式,允许   未加验证的系统文件。

  2.   
  3. 现在您要做的就是将未经验证的签名添加到   必需的系统文件。这样做按   在“签署系统文件”按钮上   从主菜单中,输入具体的   文件名包括完整路径。对于   例如:如果来自ATITool64.sys   C:\ Windows \ System32 \ drivers拒绝   由于驱动程序签名而导致的   执行,你应该输入:   “C:\ WINDOWS \ SYSTEM32 \ DRIVERS \ ATITool64.sys”   如果您想签署更多   而不是单个文件,只需重复此操作   程序,直到你完成,并且   终于重启了。

  4.         

    启用测试模式并添加后   签名到所需的系统   文件,他们应该绕过Windows的   驱动程序签名执行和加载   没有任何问题。但是,如果是   你感兴趣的某些原因   还原它,你可以重新启动它   应用程序,选择“禁用测试   模式“从主菜单,然后重新启动。   如果您遇到问题或有   问题,随意发布在我们的   论坛。

         

    注意: DSEO需要管理权限   特权(以管理员身份运行)。

它甚至允许您从桌面上删除水印!

答案 1 :(得分:4)

您不需要使用该工具。只需使用您自己的个人证书在DDK中使用signtool对驱动程序进行签名。