CentOS7搭建KMS服务器

1. 准备可执行程序
先确认机器的CPU,一般都是intel

 cat /proc/cpuinfo

我的机器cpu信息如下图

用wget从github上下载项目文件

wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz

解压下载下来的压缩包:

tar -zxvf binaries.tar.gz

将与自己的操作系统和CPU匹配的可执行程序单独移动到想放的目录:

mv ./binaries/Linux/intel/static/vlmcsd-x64-musl-static /usr/kms/vlmcsd

到这里已经可以直接以下命令运行程序启动服务了,但是这样每次重启机器后都要手动启动KMS服务,而且也不方便管理

/usr/kms/vlmcsd

2. 配置service以便于开机启动
先创建service文件

vi /usr/lib/systemd/system/kms.service

复制粘贴以下内容,保存退出

[Unit]
Description=vlmcsd - kms emulator
After=network.target
[Service]
Type=forking
ExecStart=/usr/kms/vlmcsd
ExecReload=/bin/kill -s HUP MAINPID
ExecStop=/bin/kill -s QUITMAINPID
[Install]
WantedBy=multi-user.target

执行以下命令使刚刚编写的service生效

systemctl daemon-reload

1
这样就可以通过下面的命令来管理KMS服务了

# 设定开机启动

systemctl enable kms

# 启动服务

systemctl start kms

# 停止服务

systemctl stop kms

# 重启服务

systemctl restart kms

# 取消开机启动

systemctl disable kms

# 查看服务状态

systemctl status kms

因为vlmcsd运行后会占用1688端口,所以我们可以输入以下命令查看是否成功启动:

[root@host ~]# netstat -lnp | grep 1688
tcp 0 0 0.0.0.0:1688 0.0.0.0:* LISTEN 1055/vlmcsd
tcp6 0 0 :::1688 :::* LISTEN 1055/vlmcsd

3. 激活Windows
以管理员身份运行cmd,依次输入以下命令来激活系统:

slmgr /skms 你服务器的IP或者域名
slmgr /ato
slmgr /xpr

可以看到系统成功激活:

虽然这种方法一次只能激活180天,但只要服务还在,系统会自动续订,所以实际上就是永久激活。需要注意的是,kms可以激活的只有vl版的windows和office,例如win7旗舰版就是无法用此方法激活的。

THE END