1. 简介
使用HCK(Hardware Certification Kit)签名的驱动,适用于win7及以上的操作系统;
使用HLK(Hardware Lab Kit)签名的驱动,适用于win10及以上的操作系统。
HCK和HLK是一个测试工具框架,对不同设备类型的驱动提供了不同的测试用例集,通过了所有与认证相关的用例后,使用HCK或HLK 将测试结果及驱动程序文件进行打包,然后使用EV证书对打包后的文件签名,再将签名后的打包文件提交到微软伙伴中心。微软伙伴中心会为驱动程序进行正式签名,此后驱动程序才能在win7或win10系统上使用。
2.安装VHLK服务端(也称VHLK控制器)
HLK的安装比较复杂,所以微软提供虚拟机镜像,镜像中提前安装好了HLK,称为VHLK。
VHLK的安装过程见:
https://learn.microsoft.com/zh-cn/windows-hardware/test/hlk/getstarted/getstarted-vhlk
1)准备一台win10物理机做为主机系统,其中运行预定义好的VHLK虚拟机镜像,虚拟机中会运行HLK(Hardware Lab Kit 硬件实验室工具包)控制器端程序
说明:VHLK虚拟机镜像中的操作系统是windows server;如果不使用VHLK虚拟机镜像,而是直接安装HLK控制器,则主机系统需要安装windows server 英文版操作系统
2)另准备一台或多台win10物理机做为HLK客户端。客户端向控制器端注册,控制器端进行测试控制,发送测试命令给HLK客户端执行
3)主机系统和客户端系统都需要是物理机
4)主机系统由于要安装虚拟机,需设置bios启用虚拟化支持,关闭安全启动
5)客户端系统需要设置为测试模式 注1
6)测试过程中需要重启客户端系统,因此要保证客户端系统重启后能进入系统
7)主机系统、客户端系统,设置“电源选项”,将“使计算机进入睡眠状态”设置设为“从不”
8)VHLK虚拟机中已经创建好了用户,我们后面需要使用该用户凭据进入虚拟机中,用户名: HLKAdminUser 密码:Testpassword,1
注1:客户端需要先安装驱动才能对驱动进行测试,但此时驱动还没有获得微软的正式签名,无法安装测试;将客户端系统设置为测试模式,则可以安装并运行没有获得正式签名的驱动程序。
windows系统设置为测试模式的方法:
以管理员身份运行cmd,输入如下指令后重起电脑:
bcdedit -set TESTSIGNING ON // 最后一个参数改为OFF,则恢复为正常模式
另外,此时驱动文件需用测试证书进行签名,否则即使系统设置为测试模式,驱动也是无法正确运行的。如何用测试证书进行签名,网络上可以查找相关操作说明。
3. 安装HCK服务端(也称HCK控制器)
如果驱动需要在win7上安装,则需要使用HCK进行签名,为此主机系统上需要安装HCK控制器微软没有提供像VHLK那样预安装好的虚拟机镜像,因此只能找一台物理机安装英文版本的windows server操作系统,然后再安装HCK 控制器程序。
我没有实际安装过HCK,因此不展开描述。需要安装的同学可参考:
Windows HCK Getting Started - Windows 8.1 HCK | Microsoft Learn
windows server需要安装什么版本,上面的链接中也有描述。
4.安装HLK或HCK客户端
如果主机系统上安装的是HLK(VHLK),则需要找一个或多个win10物理机安装HLK的客户端,什么场景需要安装多个客户端呢?例如你有两个驱动需要测试,为提高工作效率,可在客户端A上安装驱动1,在客户端B上安装驱动2,两个驱动同时进行测试;
如果主机系统上安装的是HCK,则需要找一个或多个win7物理机安装HCK的客户端。
安装客户端的过程比较简单,HLK(VHLK)或HCK安装好后,会创建一个共享目录,客户端访问共享目录,下载客户端程序进行安装即可,安装好后,客户端程序会自动向控制器进行注册。通过前面给的链接可以找到客户端的安装说明。