Windows 10下使用OSR Loader加载HelloWorld.sys驱动被阻止求助
解决Windows 10中驱动加载被阻止的问题
你遇到的"This driver has been blocked from loading"错误,大多和驱动签名、系统安全策略或驱动编译兼容性有关。结合你已经做的排查操作,我再给你几个针对性的解决方向:
一、确认测试签名模式是否真正生效
执行bcdedit /set testsigning on后必须重启系统才能让设置生效,你可以按以下步骤验证:
- 重启后打开管理员权限的PowerShell,执行命令:
bcdedit /enum {current} | findstr "testsigning" - 如果返回
testsigning Yes,说明模式已开启;若为No,请重新执行命令并确保重启系统。
二、给驱动添加有效的测试签名
即使开启了测试签名,驱动也需要有自签名证书签名才能被系统识别:
- 用Visual Studio自带的
signtool工具操作:- 先创建自签名证书:
makecert -r -pe -ss PrivateCertStore -n CN=MyTestDriverCert MyTestCert.cer - 再给驱动文件签名:
signtool sign /v /s PrivateCertStore /n MyTestDriverCert HelloWorld.sys
- 先创建自签名证书:
- 安装证书到系统信任区:
双击生成的MyTestCert.cer,选择"本地计算机"作为安装位置,将证书放入受信任的根证书颁发机构存储。
三、排查安全软件的拦截
Windows Defender的内核防护或第三方杀毒软件可能会拦截未知驱动:
- 临时关闭Windows Defender的内存完整性:
打开「设置→更新和安全→Windows安全中心→设备安全性→内核隔离详细信息」,关闭该选项后重启系统再测试。 - 暂时禁用第三方杀毒软件的实时防护功能,排除软件拦截的可能。
四、验证驱动编译配置
确保驱动是针对Windows 10正确编译的:
- 打开WDK项目属性,确认:
- 目标平台版本匹配你的Windows 10具体版本(比如10.0.19041.0)
- 平台工具集选择对应版本的WDK(比如WindowsKernelModeDriver10.0)
- 编译过程无报错,生成的
.sys文件完整可用。
五、检查组策略的驱动加载限制
部分系统组策略可能会限制未授权驱动加载:
- 按下
Win+R输入gpedit.msc打开本地组策略编辑器 - 导航到「计算机配置→管理模板→系统→设备安装→设备安装限制」
- 查看是否有"阻止安装未由其他策略设置描述的设备"等策略被启用,若有则暂时禁用并重启系统。
六、用DebugView获取详细错误日志
驱动加载失败时,系统内核会记录更具体的原因:
- 运行DebugView工具,勾选「Capture Kernel」选项
- 再次尝试加载驱动,查看工具输出的日志信息,这能帮你精准定位是签名、兼容性还是其他系统限制导致的问题。
内容的提问来源于stack exchange,提问作者tbhaxor




