instsrv+srvany创建服务实现开机自动启动vmware虚机

简介:

我的理解如下:

1、用instsrv新添加一个自定义服务名的服务,此服务关联着srvany程序;

2、srvany程序读注册表相应项,找到服务的主应用程序并按照注册表的参数执行它;

3、这个服务可以在services.msc中找到,可以设置开机自动启动。。


注册表文件这样写,写好了双击。(注册表文件后缀是reg)


Windows Registry Editor Version 5.00  

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名\Parameters]   

"Application"="需要运行的程序的绝对路径和参数"  

"AppParameters"="需要运行的程序启动时候的参数"  

"AppDirectory"="需要运行的程序所在目录的绝对路径"


程序绝对路径举例——"C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware.exe"

启动参数举例——"-X -- D:\\vms\\C6-7.vmx" 

目录绝对路径举例——"C:\\Program Files (x86)\\VMware\\VMware Workstation\\"

注意:我测试了很多次,只写一个 \ 是不行的,要用 \\ 写路径才成。X后面空一个格,两个半角减号后再空一个格,再写虚机配置文件绝对路径。 如果虚机配置文件名中有空格,如“E:\vms\vmware\centos\CentOS 64-bit.vmx”,就需要先双击这个reg文件在注册表中创建出条目,再启动regedit手动把AppParameters的值改成-X -- "E:\vms\vmware\centos\CentOS 64-bit.vmx"  其中英文半角双引号可以把文件名中的空格识别成一个整体。如果开机需要启动多个虚机,只需要在后面再添加多个vmx文件绝对路径即可。举例:将reg文件这行改成"AppParameters"="-X -- D:\\vms\\C6-7.vmx -X -- E:\\vms\\windows10.vmx" 同样的,如果配置文件名中有空格,需要去regedit里手动加上半角双引号否则无效别赖我没告诉你……我花了一个多小时试来试去的。用非administrator账户添加的服务,启动服务后,虚机从虚机控台中消失的问题我也不知道该如何解决。


双击这样一个reg文件以后就导入到注册表中了。接下来是建立服务。在cmd.exe中需要键入的命令是:

"instsrv.exe所在绝对路径" 服务名 "srvany.exe所在绝对路径"

举例:"C:\Program Files\Windows Resource Kits\Tools\instsrv.exe" vm_autopoweron "C:\instsrv\srvany.exe" 如此就建立了一个叫vm_autopoweron的服务。

没有instsrv包的,戳这儿下载


删除服务方法cmd中键入如下命令:

sc delete 服务名



本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1727132,如需转载请自行联系原作者

相关文章
|
5月前
|
网络协议 Linux 开发工具
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
配置Linux固定IP地址,为什么要固定IP,因为他是通DHCP服务获取的,DHCP服务每次重启都会重新获取一次ip,VMware编辑中有一个虚拟网络编辑器
|
虚拟化
VMware 虚拟机 - 解决 Vmware 服务拒绝访问的问题
VMware 虚拟机 - 解决 Vmware 服务拒绝访问的问题
1389 0
VMware 虚拟机 - 解决 Vmware 服务拒绝访问的问题
|
Linux 网络安全 虚拟化
VMware-使用VMware在本地搭建多个CentOS虚机
VMware-使用VMware在本地搭建多个CentOS虚机
203 0
|
Linux 虚拟化 数据安全/隐私保护