Mrfei 发表于 2018-6-4 11:33:43

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

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

  2、srvany程序读注册表相应项,找到服务的主应用程序并按照注册表的参数执行它;
  3、这个服务可以在services.msc中找到,可以设置开机自动启动。。
  

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

  Windows Registry Editor Version 5.00
  
  "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 服务名
页: [1]
查看完整版本: instsrv+srvany创建服务实现开机自动启动vmware虚机