记得当年在网上看到老外的一篇文章,讲到把 XP 改成服务器版本,好像就改一个注册表的键值。
在 Windows 2008 年代,流行过替换激活的方法,替换 token.dat 文件,系统就变成了 Vista。
如今想把 Win 8.1 也改成服务器版本,在网上找了一通一通又一通。都无果。实际上可能是没有这种需要。
闲来无事,改着玩。大体要这么几步:
1、停止 sppsvc 服务
2、替换 SPP 目录;
目录在 windir\system32\spp 和 windir\SysWOW64\spp。不过后面一个好像没有太大的作用,不知道不替换是否也行?
3、解决 sppsvc 服务 拒绝访问的问题;
HKLM\software\microsoft\windows\currentversion\setup\PnpLockdownFiles : read : NT AUTHORITY\LOCAL SERVICE
C:\Windows\System32\spp\store\2.0\data.dat write
HKLM\System\CurrentControlSet\Services\WinSock2\Parameters : Read : NT AUTHORITY\NETWORK SERVICE
最后一项可能无所谓,可能也与此无关。
4、启动 sppsvc 服务;
5、重新安装许可证文件;
cscript.exe slmgr.vbs /rilc
6、安装产品密钥
当然是要 Windows 2012 R2 的密钥了。
slmgr /ipk XXX-XXX-XXX-XXX-XXX
7、复制 api*.dll 文件;
在 System32 目录下,有两百多个,具体还要再确定
8、复制 Branding 目录;
在 System32 目录下。
9、激活;
slmgr /qto
10、改注册表;
尽管激活以后,系统已经是服务器版本了,但是,注册表的键值仍未自动改过来,还需要手工改一下。主要有这样几个:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Server"
"EditionID"="ServerDatacenter"
"ProductName"="Windows Server 2012 R2 Datacenter"
只有这时候改才有用。
11、复制文件;
这里需要复制的文件也很多,比如最重要的一个文件 ServerManager.exe。
因为,服务器版本上有 ServerManager,在非服务器版本上没有,当然与之配套的文件也有许多。
主要在 windir\Microsoft.NET\assembly\GAC_MSIL\ 下。
功能文件在 windir\WinSxS\ 下。