错误代码48表示Windows因驱动未签名或签名无效而阻止加载,需依次验证签名、启用测试模式、配置组策略、用signtool检测及清除缓存来修复。

当设备管理器中某个硬件设备显示错误代码48,系统提示“驱动程序被阻止”,通常意味着Windows因安全策略拒绝加载该驱动。以下是修复此问题的步骤:
一、检查驱动程序签名状态
Windows默认仅允许加载经过数字签名的驱动程序,若驱动未签名或签名无效,将触发错误代码48。需验证当前驱动的签名完整性及签名证书是否受信任。
1、右键“此电脑”→选择“管理”→打开“设备管理器”→展开对应设备类别,右键问题设备→点击“属性”。
2、切换到“驱动程序”选项卡→点击“驱动程序详细信息”→查看列出的.sys文件路径。
3、在文件资源管理器中定位该.sys文件→右键→选择“属性”→切换到“数字签名”选项卡。
4、点击“详细信息”→查看“签名列表”中证书颁发者是否为Microsoft Windows Hardware Compatibility Publisher或受信任的OEM厂商。
5、若无数字签名或显示“该文件没有有效的数字签名”,则确认该驱动未通过WHQL认证,需更换签名驱动。
二、临时禁用驱动程序强制签名验证
通过启动高级选项进入测试模式,可绕过驱动签名强制检查,适用于调试或安装特定未签名驱动。该操作不修改系统安全策略,仅在当前启动项生效。
1、以管理员身份运行命令提示符或PowerShell。
2、输入命令:bcdedit /set {current} testsigning on并按回车执行。
3、重启计算机,系统右下角将显示“测试模式”水印。
4、再次尝试更新或重新安装驱动程序。
5、验证成功后,如需恢复签名强制,运行:bcdedit /set {current} testsigning off并重启。
三、修改组策略禁用驱动程序签名强制(仅限专业版/企业版)
组策略可全局控制驱动签名行为,适用于批量部署环境。启用“设备驱动程序安装”相关策略可覆盖默认签名要求,但需确保策略应用范围可控。
1、按Win+R输入gpedit.msc打开本地组策略编辑器。
2、导航至“计算机配置”→“管理模板”→“系统”→“驱动程序安装”。
3、双击“设备驱动程序的代码签名”→选择“已启用”→在下拉菜单中设置为“忽略”。
4、点击“确定”保存设置→在命令提示符中运行:gpupdate /force刷新策略。
5、重启系统后检查设备管理器中错误代码48是否消失。
四、使用驱动程序签名验证工具signtool检测签名有效性
signtool.exe是Windows SDK提供的权威签名验证工具,可精确判断驱动文件签名时间、证书链状态及吊销情况,排除因证书过期或被吊销导致的拦截。
1、从Microsoft官网下载并安装Windows SDK,确保包含“Windows Driver Kit”组件。
2、打开“Windows Driver Kit”命令行环境(如WDK Build Environment)。
3、输入命令:signtool verify /v /kp "C:\path\to\driver.sys"(将路径替换为实际.sys文件路径)。
4、观察输出中“Signer Certificate Thumbprint”、“Certificate Chain”及“Revocation Status”字段。
5、若出现“Certification Authority is not trusted”或“Revoked”字样,则该签名已被系统拒绝,不可继续使用。
五、重置驱动程序安装策略并清除残留签名缓存
系统可能因历史安装记录或策略缓存保留对某驱动的拒绝标记,即使更换新驱动仍沿用旧判定结果。需清理驱动存储和策略缓存以恢复初始判定逻辑。
1、以管理员身份运行PowerShell。
2、执行命令清除驱动程序存储:pnputil /enum-drivers | findstr /i "published",记录所有Published项的oem*.inf编号。
3、对每个编号执行:pnputil /delete-driver oemX.inf /uninstall(X替换为实际编号)。
4、运行:certutil -urlcache * delete清除证书吊销列表缓存。
5、重启后重新安装经验证有效的签名驱动程序。


















