vlmcsd虚拟机自建KMS服务器激活Windows
vlmcsd虚拟机自建KMS服务器激活Windows教程
背景
KMS是微软为企业用户提供的一种激活方式。企业购买微软的授权,在内网架设KMS激活服务器,需要激活的机器统一安装VOL版本的序列号,通过内网访问KMS激活服务器即可激活。然而,由于KMS激活方式不会与微软通信进行二次验证,因此可以通过自行架设服务模拟KMS,为自己的VOL系统进行KMS激活,达到免费激活Windows的目的。
许多网站提供了免费的KMS激活服务器地址,但这些服务器并不稳定,往往下次激活时服务已不可用,需要重新寻找其他服务器;并且时常有KMS服务器管理员对所激活系统管理访问权限的安全性担忧(即使在微软的文档中并没有找到可供KMS服务器访问激活系统的相关指令)。
在上述背景下本教程使用开源的KMS激活服务器替代品vlmcsd,在自行创建的Vmware虚拟机或linux真机上运行KMS服务,并以此激活Windows系统。
说明:
- KMS激活方式每隔180天需要重新激活一次,如果认为重复操作麻烦请使用其他方式。
- vlmcsd也提供了Windows版本,但是需要注册为服务程序。本教程只介绍在Linux运行KMS服务的方法。
前期准备
- 一台需要KMS激活的Windows宿主机,并且安装的是能够KMS激活的VOL序列号。
- 到vlmcsd的github发布页面下载最新的binaries.tar.gz(目前最后一个版本更新于2020.03.30,很久没有维护,但是功能仍然可用)
使用虚拟机服务器镜像
解压binaries.tar.gz,会出现两个文件夹,binaries和floppy。其中floppy文件夹包括了打包好带虚拟机镜像。
- 打开Vmware Player,点击文件菜单-“打开…”
- 选择解压得到的floppy目录内的.vmx文件,此时会自动导入一个名为vlmcsd embedded的虚拟机
- 右键该虚拟机,将其网络配置改为“仅主机”
- 启动该虚拟机
启动后的输出如下图所示,从红框所示处记录服务器的局域网IP地址,端口默认为1688。
使用已有的linux虚拟机/真机
如果你需要在现有的linux上启动KMS服务器,以ubuntu为例。
也可在android手机上下载termux,更加方便。
将binaries.tar.gz复制到ubuntu桌面,在桌面打开终端,使用如下命令解压:
|
|
解压后打开得到的binaries文件夹,
- 里面包括不同系统,打开我们所使用的linux文件夹,如果是Android手机则打开android。
- 里面包括不同架构。例如我的电脑是intel CPU,就继续打开intel文件夹。
- 里面包括不同编译选项,一般选static即可。
在最后打开的文件夹会有几个可执行文件,分成vlmcs,vlmcsd,vlmcsdmulti三种。其中vlmcsd是我们所需的kms server, vlmcs是一个测试用的简易客户端程序,vlmcsdmulti是将两者编译到一起。
这里我们只使用vlmcsd。根据你的系统选择x64还是x86。例如我的ubuntu是x86,就通过如下命令启动kms服务器,其中-D选项是在当前终端前台运行,-P选项是指定服务的端口:
|
|
如果是安卓手机,则根据自己手机的架构版本号选择armv[x]。
如果遇到bash: ./vlmcsd-x64-musl-static: 无法执行二进制文件: 可执行文件格式错误
,说明x64/x86选错了。
现在服务已经启动了。但要在宿主机访问服务,还需要查看服务器的ip地址。新开一个终端,执行:
|
|
如果linux和待激活的机器在同一个局域网,这里记录形如192.168.xx.xx的局域网IP即可。
宿主机激活
无论是上述哪种方法,你都应已经启动了一个KMS服务器,并获得了其IP和端口,
现在回到Windows系统的宿主机,按win+R,输入cmd后回车,在命令行终端中输入:
|
|
然后耐心等待一段时间,如果分别弹出成功提示,则激活成功。
如果弹出如下错误提示,说明宿主机无法连接到服务器,需要检查一下vmware的网络配置,或者linux的防火墙。
在激活完成后可以关闭虚拟机,KMS有效期180天,前面的slmgr /skms 192.168.xx.xx:1688
命令执行后会自动保存服务器地址,KMS到期后只需再次启动虚拟机,然后执行slmgr /ato
即可。
Office激活
KMS也可用于Office。首先确认你安装的office是批量激活版本才可适用。
找到office安装的路径,例如C:\Program Files (x86)\Microsoft Office\Office16
。在该目录下应该能找到一个OSPP.VBS
的文件。
然后右键开始按钮,选择“windows powershell**(管理员)**”,再cd到上面的路径,再执行激活命令。
|
|
成功激活的输出应当类似如下:
|
|
如果出现Error Code 0x80070005
的报错说明你没有用管理员权限打开powershell。