在 Windows 7 x64 中使用未签名的驱动程序

rjm*_*nro 15 windows-7 drivers game-controller

我正在尝试为我的 SpaceNavigator 3d 操纵杆使用RBC9 SpaceNavigator TEST x64 构建驱动程序,以便它可以在 Quake 等游戏中用作普通操纵杆。

不幸的是,我收到错误消息“此版本的 Windows要求所有驱动程序都具有有效的数字签名”,并且在设备管理器的“设备状态”中,我收到“Windows 无法验证此设备所需驱动程序的数字签名。A最近的硬件或软件更改可能安装了签名不正确或损坏的文件,或者可能是来自未知来源的恶意软件。(代码 52)”。

有没有办法解决这个问题?

unr*_*ity 10

论坛主题有多种解决方案,但唯一被至少一个人确认有效并获得投票的解决方案是:

以管理员身份打开命令提示符并键入

bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
Run Code Online (Sandbox Code Playgroud)

请参阅安全风险警告。

如果由于某种原因它不起作用,您可以使用 bcedit 删除 loadoptions 并关闭 testsigning。

bcdedit /deletevalue loadoptions
bcdedit -set TESTSIGNING OFF
Run Code Online (Sandbox Code Playgroud)

如果这出于任何原因破坏了某些东西,抱歉,祝你好运。

编辑:其他来源似乎也将其作为解决方案提供,例如this(尽管适用于Windows Vista)和this

  • 它不是 DISABLE_INTEGRITY_CHECKS 而是 DDISABLE_INTEGRITY_CHECKS (3认同)

E. *_*ten 5

内核模式驱动程序的安全级别大致分为三个级别:

  • 测试签名/自签名
  • 未签名

如果证书有效等,签名驱动程序将正常安装。

测试签名驱动程序将需要这些bcdedit命令,因为 Windows 通常不接受自签名驱动程序。内核驱动程序开发人员通常会在测试模式下运行他们的 Windows 计算机。这个想法是他们可以“自我签署”他们的驱动程序。测试模式允许加载他们的自签名驱动程序。测试完成后,驱动程序仍需签名。

不会加载未签名的驱动程序。甚至在测试模式下也不行,因为它们至少必须经过测试签名!

所以这就是有必要在启动时按 F8 键并选择Disable Driver Signature Enforcement. 这是最后的选择。

另请注意,F8 设置仅适用于该 Windows 会话,并且在重新启动后不会保留。有点像 Windows 的“安全模式”选项。

从这里,你可以去哪里?

您要么接受每次都必须按 F8,要么弄清楚如何对驱动程序进行自签名,以便至少可以在测试模式下加载它。

一些进一步的阅读:

在开发和测试期间安装未签名的驱动程序

测试签名