OA3使能过程包含两个工具:OA3Tool和OA3 BIOS工具,微软在官网详细说明了每个工具干什么和有谁来提供 。整个过程主要分产线和用户端两方面:
产线:
- 系统硬件生产完毕,Windows 10的镜像已经被块拷贝到目标硬盘上。
- 在WinPE中运行OA3Tool.exe来问Key server要一个Key。会生成一个OA3.bin,包含MSDM表。
- 运行一个BIOS工具来将这个OA3.bin注入到BIOS中。BIOS一般已经在固件中预留了一个dummy的OA3.bin,这个工具一般会发起一个SMI,让SMI来更新OA3.bin。这个工具是每家BIOS厂商不同而不同的。
- 再运行一次OA3Tool.exe (参数不同)。它会根据硬件信息生成一个128 bit的hash值,代表当前硬件。这个hash和OA3.bin中的Product Key会被当做CBR(Computer Build report)报告给微软的服务。
注意整个过程是产线的脚本自动完成的。
用户:
- 用户开机后4小时之后,系统开始自动激活。它读取MSDM中的Product Key,并根据当时的硬件自动算出一个新的128bit的硬件Hash,两个一起传给微软激活服务器。
- 微软激活服务器发现这两个信息再数据库中存在,发送准许激活消息,Windows正式激活。
- 激活信息被存在硬盘中,每次启动都会检查硬件Hash有没有变化。如果变化很大,则需要重新激活。
至于什么是硬件大变,微软官方的说法:
“If you make significant hardware changes on your device, such as replacing your motherboard, Windows will no longer find a license that matches your device, and you’ll need to reactivate Windows to get it up and running.”
大概是,换主板当然不行,换硬盘可以;换网卡不行,添加网卡可以。
结束语
国产操作系统已经起步,两强收入相当可观:


但它们的收入相比微软从Windows里面攫取的金钱来看,那是远远不如。国产操作系统需要更多的资金来继续巩固发展,要雇佣大量的开发人员,据了解,国产两强的开发人员都有数千人,开支巨大。
OA3是微软的体系,当然国产操作系统不能用,但这不妨碍我们可以从中借鉴一些有用的思路。但这还不够,微软利用它的强势地位,让几乎所有BIOS厂商都支持OA3,国产操作系统各自为战,很难像微软一样整合上下游,来保护自己的利益。这就同安全启动的证书一样,困扰着国产操作系统。
也许需要在国家层面制定一个统一的标准,来规范操作系统的各种接口行为,包括今天介绍的操作系统激活,和一直困扰大家的安全启动证书问题。顺便也可以解决BIOS的版权费漏洞问题,造福整个产业链!