由于需要进行不同系统下的软件测试, 在Windows测试服务器上装有多种系统的虚拟机, 每次Windows服务器重启总是要连上远程开虚拟机, 但照着做还是出现了一些问题, 很多帖子都没有提到, 不过还是最终搞定了. 避免今后忘记, 又走弯路, 特此记录如下.
第一步:安装Window Server 2003 Resource Kit Tools微软官方下载
要使用该工具包中的instsrv.exe和srvany.exe工具. (其中instsrv.exe是创建windows服务的工具, ; srvany.exe是将exe执行文件当做系统服务运行的一个工具). 在windows server 2008中安装时提示兼容性问题, 不管它继续安装. (假设安装到C:\tools目录下).
第二步:安装VMware-workstation-full-12.1.1-3770994,Vmware官方下载
安装VMware workstation时,一定要选择“以管理员身份运行”,否则后面会出现无权启动虚拟机的问题。
第三步:添加一个虚拟机,此处以CentOS6为代表,安装到D:\VMS\CentOS6
第四步:打开CMD命令行,添加一个Windows服务,此处以:VMware_AutoStart为例。
C:\tools\instsrv.exe VMware_AutoStart C:\tools\srvany.exe
第五步: 修改注册表, 设置具体启动虚拟机的指令给VMware_AutoStart服务
运行regedit打开注册表,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VMware_AutoStart,(其中VMware_AutoStart是给定的服务名, 如果你命名为不同的名称请找到相应的项).
在vmautorun项下创建一个新的项Parameters
打开新的项Parameters, 在Parameters项里新建一个字符串值, 数值名称为Application,
数值数据为vmrun -T ws start "D:\VMS\CentOS6\CentOS6.vmx" nogui
(vmrun.exe文件在VMWare安装目录下, 为了方便,需要设置该目录到PATH环境变量, 此处数值数据也可以使用 vmware -x "d:\VMs\CentOS\centos.vmx" )
(也可以直接写:D:\VMware\VMware Workstation\vmrun.exe -T ws start "D:\VMS\CentOS6\CentOS6.vmx" nogui)
第六步:为服务添加依赖服务
最关键的一步来了, (很多帖子上都没有这一步, 是成功的关键), 设置服务的依赖服务
打开VMware_AutoStart项, 新建一个多字符串值项, 命名为DependOnService, 值为VMwareHostd
第七步: 运行services.msc打开系统服务列表, 选择VMware_AutoStart服务, 打开服务属性, 在登录页中选择本地系统账户,并勾选允许服务与桌面交互.
第八步:重启服务器, 进行测试。