如何使用devcon安装本地主机自行构建的驱动程序
问题解答
一、是否可以在本地机器安装自行编译的驱动
可以直接在本地开发机器安装自行编译的驱动,不需要额外的第二台部署设备,操作前仅需要满足以下前置要求:
- 如果你编译的是未经过WHQL数字签名的测试驱动,需要先开启Windows测试签名模式,或者在启动时临时禁用驱动强制签名校验,否则系统会拦截驱动安装
- 建议安装前先创建系统还原点,避免异常驱动导致系统故障无法恢复
- 操作全程需要以管理员身份运行命令提示符/Powershell,否则devcon会无权限修改系统驱动配置
二、使用devcon安装自行编译驱动的操作步骤
devcon是Windows驱动开发工具包WDK附带的命令行工具,安装对应版本的WDK后即可直接在本地使用,具体操作步骤如下:
- 前置准备
- 把你编译生成的驱动文件(后缀一般为
.sys)、驱动安装信息文件(.inf)、相关的.cat签名文件(如果有)放到同一个本地目录,比如C:\test_driver\ - 以管理员权限启动命令行工具,进入刚才存放驱动文件的目录
- 把你编译生成的驱动文件(后缀一般为
- 确认目标设备的硬件ID
- 如果你是给现有物理设备安装自定义驱动,可直接用devcon查询全设备硬件ID找到目标设备:
devcon hwids *,记录对应设备的硬件ID值即可,也可以直接在设备管理器的设备属性详情页查询 - 如果你开发的是根枚举虚拟驱动,不需要现有硬件,直接使用inf文件中配置的硬件ID即可
- 如果你是给现有物理设备安装自定义驱动,可直接用devcon查询全设备硬件ID找到目标设备:
- 执行安装操作
- 先将驱动包添加到系统驱动存储:
devcon dp_add C:\test_driver\你的驱动文件名.inf - 给已有设备替换驱动执行以下命令,替换尖括号内容为你的实际参数:
devcon update C:\test_driver\你的驱动文件名.inf <你的硬件ID> - 如果是虚拟驱动需要先创建虚拟设备再安装,执行以下命令:
devcon install C:\test_driver\你的驱动文件名.inf <你的硬件ID>
- 先将驱动包添加到系统驱动存储:
- 验证安装结果
- 执行安装命令后如果返回
Device node created. Install is complete when drivers are installed... Updating drivers for xxx from xxx.inf. Drivers installed successfully.就说明安装成功 - 可以到设备管理器里查看对应设备是否正常运行,无黄色感叹号,也可以用devcon查询状态:
devcon status <你的硬件ID>
- 执行安装命令后如果返回
- 如需卸载驱动可执行以下操作
- 卸载对应设备:
devcon remove <你的硬件ID> - 从系统驱动存储删除对应驱动包:
devcon dp_delete <添加驱动时返回的oemxxx.inf文件名>
- 卸载对应设备:
注意:如果安装后系统出现蓝屏、异常重启等问题,重启时进入高级启动选项,选择「卸载最近的更新」或者「还原到之前的还原点」即可恢复。
内容的提问来源于stack exchange,提问作者Chi Long Qua
相关产品推荐
相关产品推荐

