Windows HLK(Windows Hardware Lab Kit,硬件实验室工具包)是微软用于驱动和硬件兼容性认证(WHQL / WHCP)的官方工具。要把一个内核驱动提交到微软签名,就必须在 HLK 环境里跑完对应的测试、生成 .hlkx 提交包。
这套流程第一次接触会有点绕。本系列分两篇:
- 环境准备(本篇)——搭好 Controller 和测试机。
- 开始测试——建池、建项目、跑测试、打包提交。(见 第二篇:开始测试)
本文以 Windows Server 2025 认证为目标环境,用一台装了 Hyper-V 的物理机跑 Controller 虚拟机,另一台物理机作测试机。其他 OS 版本流程基本一致,仅版本号和 playlist 不同。
一、理解 HLK 的架构
正式动手前,先搞清楚谁是谁,这能让后面每一步都不迷糊。HLK 环境由三个角色组成:
| 角色 | 说明 | 本文对应 |
|---|---|---|
| Controller(控制器) | 安装 HLK Controller + Studio,负责下发任务、收集结果、打包。是整个测试的“大脑”。 | Server 机上的 WS2025 虚拟机 |
| Test Client(测试机) | 装了待测驱动/硬件的机器,实际执行测试。 | 一台纯净系统的物理机 |
| 网络 | Controller 和测试机必须在同一子网、能互相访问。 | 一台路由器组建局域网 |
工作方式:Controller 通过网络把测试任务推送到测试机执行,测试机把结果回传给 Controller,最后由 Controller 打成 .hlkx 包提交微软。
二、物理准备
需要准备的硬件:
- Server 机:一台物理机,安装 Windows 专业版(Pro),用来开 Hyper-V 承载 Controller 虚拟机。
- 测试机:一台纯净系统的物理机(待测驱动就装在这台上)。
- 建议预留 300 GB 以上磁盘空间——测试会产生海量日志。
- 应为专用测试机,不要拿日常办公机来测。
- 路由器:把 Server 机和测试机接入同一个局域网 / 同一子网。
为什么测试机要“纯净系统”? HLK 会对系统做大量改动、频繁重启,多余的软件容易干扰测试结果甚至导致失败。用干净安装的系统最稳妥。
三、软件准备
- Windows Server 2025 ISO(en-us 英文镜像)——用来装 Controller 虚拟机。
- 建议用英文版,避免本地化字符串引起的兼容问题。
- 安装时选 Datacenter 版、且带桌面体验(Server with Desktop Experience,即“完整服务器/带 GUI”),不要选 Server Core。后面的 Static Tools Logo Test 在 Core 上会报错。
- HLK 安装包——从微软官网下载,版本要与你认证目标 OS 匹配(WS2025 用对应的最新 HLK)。
- 记住:HLK 版本、playlist 版本、被测 OS 版本三者要对应一致。
从微软 HLK 下载页获取对应版本的安装包。
四、Server 准备(搭建 Controller)
1. 开启 Hyper-V
在 Server 机(Windows Pro)上启用 Hyper-V。可用 PowerShell(管理员):
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
或走「控制面板 → 程序 → 启用或关闭 Windows 功能 → 勾选 Hyper-V」。按提示重启。
2. 创建 Windows Server 2025 虚拟机
在 Hyper-V 管理器中新建虚拟机:
- 使用 第二代(Generation 2) 虚拟机。
- 分配足够资源:建议 4 vCPU / 8 GB+ 内存 / 300 GB+ 磁盘。
- 挂载 WS2025 的 en-us ISO,安装 Datacenter(带桌面体验)。
- 装好后完成初始化(设置管理员密码、打补丁)。
3. 配置网络(关键)
必须让 Server 机、Controller 虚拟机、测试机三者处于同一子网、能互通:
- 在 Hyper-V 管理器 →「虚拟交换机管理器」新建一个 外部(External)虚拟交换机,桥接到 Server 机的物理网卡。
- 把 Controller 虚拟机的网络适配器连接到这个外部交换机。
- 确认三台机器都从路由器拿到同一网段的 IP(例如都是
192.168.1.x),并能互相ping通。
防火墙:HLK 客户端与 Controller 通过 TCP 1771 端口通信。若有第三方防火墙,需手动放行 1771,否则客户端安装或通信会失败。
4. 在虚拟机中安装 HLK Controller + Studio
在 WS2025 虚拟机里运行 HLK 安装包:
- 运行
HLKSetup.exe。 - 选择 Install the Windows Hardware Lab Kit to this computer。
- 组件选择 Windows Hardware Lab Kit — Controller + Studio。
- 允许开放端口、接受许可协议。
- 安装约需 45 分钟。装完后 Controller 会自动共享出客户端安装目录
\\<ControllerName>\HLKInstall\。
至此 Controller 就绪。记下这台虚拟机的计算机名(下文用 <HLKController> 表示),测试机安装客户端时要用。
五、测试机准备
1. 安装纯净系统
在测试机上干净安装目标 OS(与你要认证的 OS 一致)。
2. 禁用安全启动、开启测试模式
进 BIOS/UEFI:
- 禁用 Secure Boot(安全启动)。开着安全启动会导致 HLK 客户端安装失败,且不少测试项要求关闭它。
进系统后,以管理员命令提示符开启测试签名(测试模式)并重启:
bcdedit /set testsigning on
为什么必须开测试模式? 测试用的驱动通常只做了测试签名而非正式签名。不开测试模式系统会拒绝加载,而且 Static Tools Logo Test 只有在驱动被测试签名时才会正确出现和告警(详见第二篇)。开启后桌面右下角会出现“测试模式”水印,属正常现象。
3. 电源设置
建议测试机接通电源,并把「电源选项 → 使计算机进入睡眠状态」设为从不,避免测试中途休眠。
4. 安装 HLK Client
从网络路径运行 Controller 共享出来的客户端安装脚本。以管理员命令提示符(不要用 PowerShell)执行:
\\<HLKController>\HLKInstall\Client\Setup.cmd /qn ICFAGREE=Yes
<HLKController>换成 Controller 虚拟机的计算机名。/qn为静默安装,ICFAGREE=Yes表示同意开放防火墙端口。- 也可以不加
/qn走图形向导:向导里在“Internet Connection Firewall Agreement”页选择允许开放端口。 - 安装过程会自动装上 .NET Framework 4、Application Verifier、WDTF、Windows Performance Toolkit 等依赖。
注意
- 脚本必须从网络路径(
\\...)运行,不能从映射的盘符运行。- 若通信端口被挡,手动放行 TCP 1771。
- 客户端装好后不会出现在“添加/删除程序”里,但任务管理器中应能看到
HLKSvc.exe进程在运行——以此确认安装成功。- 客户端装好后不要再改测试机的计算机名,否则不受支持。
5. 准备并安装待测驱动
- 准备好已测试签名的待测驱动程序。
- 在测试机上安装该驱动,然后重启。
- 重启后确认设备管理器中驱动已正常加载。
小结
到这里,一个完整的 HLK 测试环境就搭好了:
- ✅ Server 机开启 Hyper-V,承载一台 WS2025 Controller 虚拟机(已装 Controller + Studio)。
- ✅ Controller、测试机、Server 机同处一个子网,互通,放行了 TCP 1771。
- ✅ 测试机纯净系统、关安全启动、开测试模式,装好 HLK Client,并装好待测驱动。
环境就绪后,就可以进入正式测试:新建机器池、创建项目、加载 playlist 跑测试、打包提交。下一篇继续 → Windows HLK 驱动认证(二):开始测试