vmrun操作vmware workstation虚拟机

    作者遇到服务器断电后虚拟机需要手动去启动的问题,通过网上资料查询,发现vmrun命令行能满足虚拟机在无人操作下所有服务常规操作,本文主要讲述通过vm命令行如何启动、挂起、关闭、重启、运行虚拟机里面的程序等,同时这些命令均支持远程服务器。可在大量服务器集群下发挥重要的作用。

    很多人都找不到vmrun命令如何使用,即使你安装了vmware workstation,vmrun也不会直接执行,vmrun为vmware workstation自带的虚拟机命令行操作,vmrun在vmware workstation的安装目录下,可通过右键选择vmware workstation启动快捷方式,右键查看文件所在路径,找到vmrun.exe,通过cmd执行vmrun相关命令。如果你想要cmd支持vmrun,可以将vmrun.exe添加到环境变量path中。

一、vmrum基本命令

# vmrun -T ws start "/opt/VMware/win2k8r2.vmx" nogui启动无图形界面虚拟机  (-T 是区分宿主机的类型,ws|server|server1|fusion|esx|vc|player,可能比较常用的是ws、esx和player,不过我没有加-T在Workstation也能正常运行, 可能esx和server就需要了)

# vmrun start "/opt/VMware/win2k8r2.vmx" gui启动带图形界面虚拟机

# vmrun stop "/opt/VMware/win2k8r2.vmx"hard | soft强制关闭虚拟机(相当于直接关电源) | 正常关闭虚拟机

# vmrun reset "/opt/VMware/win2k8r2.vmx" hard | soft冷重启虚拟机 | 热重启虚拟机

# vmrun suspend  "/opt/VMware/win2k8r2.vmx" hard | soft挂起虚拟机(可能相当于休眠)

#  vmrun pause  "/opt/VMware/win2k8r2.vmx"暂停虚拟机

#  vmrun unpause  "/opt/VMware/win2k8r2.vmx"停止暂停虚拟机    

# vmrun list 列出正在运行的虚拟机

# ps aux | grep vmx 另一种查看正在运行虚拟机的方法


# vmrun -T ws snapshot "/opt/VMware/win2k8r2.vmx" snapshotName创建一个快照

# vmrun -T ws reverToSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName 从一个快照中恢复虚拟机

# vmrun -T ws listSnapshots "/opt/VMware/win2k8r2.vmx"列出虚拟机快照数量及名称

# vmrun -T ws deleteSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName 删除一个快照

其它命令可通过vmrun -help查看

二、Examples:

在物理机启动一个虚拟机

vmrun -T ws start "c:\my VMs\myVM.vmx"

在物理机关闭一个虚拟机
   vmrun -T esx -h https://myHost.com/sdk -u hostUser -p hostPassword stop "[storage1] vm/myVM.vmx"
Running a program in a virtual machine with Workstation on a Windows host with Windows guest

在物理机执行一个虚拟机里面的程序,注意,guestUser和guestPassword分别为虚拟机用户名和密码
   vmrun -T ws -gu guestUser -gp guestPassword runProgramInGuest "c:\my VMs\myVM.vmx" "c:\Program Files\myProgram.exe"

在物理机执行一个远程虚拟机里面的程序,注意,guestUser和guestPassword分别为虚拟机用户名和密码
   vmrun -T server -h https://myHost.com:8333/sdk -u hostUser -p hostPassword -gu guestUser -gp guestPassword runProgramInGuest "[standard] vm/myVM.vmx" /usr/bin/X11/xclock -display :0

创建虚拟机快照
   vmrun -T ws snapshot "c:\my VMs\myVM.vmx" mySnapshot

恢复快照
   vmrun -T ws revertToSnapshot "c:\my VMs\myVM.vmx" mySnapshot

删除快照
   vmrun -T ws deleteSnapshot "c:\my VMs\myVM.vmx" mySnapshot

启用共享文件夹
   vmrun -T ws enableSharedFolders "c:\my VMs\myVM.vmx"

三、示例代码:

@Rem 随物理机的开机开机

@Rem 下面的命令行组成:
@Rem 第一个参数为vmware workstation vmrun所在路径,可通过右键选择vmware workstation启动快捷方式,右键查看文件所在路径
@Rem 第二个参数start为启动关键字,其它关键字有stop、reset、suspend、pause、unpause等,vmware workstation提供了很多的命令,详情可通过C:\Program Files (x86)\VMware\VMware Workstation\vmrun -help方式进行查看
@Rem 第三个参数表示已建好的虚拟机vmx所在的路径
@Rem 第四个参数nogui参数表示在后台运行虚拟机

@Rem 启动虚拟机,如果有多个虚拟机,重复下面的命令即可
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" start "G:\VMWare\Windows 10 x64\Windows 10 x64.vmx" nogui

@Rem 运行虚拟机中的一个程序
"C:\Program Files (x86)\VMware\VMware Workstation\vmrun" -T ws -gu administrator -gp passwordforguest runProgramInGuest "G:\VMWare\Windows 10 x64\Windows 10 x64.vmx" "C:\Users\wangxch\Desktop\WebStorm-10.0.5.exe"

四、开机自启动,关机自动挂起虚拟机

步骤一:执行“gpedit.msc”,逐级打开“本地计算机策略”-->“计算机配置”-->“Windows设置”-->“脚本”,在窗口右栏中点击“关机”。

步骤二:把需要执行的关机或挂起命令写入一个 .bat 批处理程序中,添加进去。

五、参考资料

http://blog.csdn.net/devper/article/details/54089342

http://blog.csdn.net/w616589292/article/details/44566127

猜你喜欢

转载自blog.csdn.net/bpwangxch/article/details/79236125