【VMrun使用】如何在物理机下让虚拟机运行命令
1.前言
在某些情况下,我们的虚拟机可能会断网运行,碰巧此时在物理机下需要运行自动化程序,虚拟机也要同步运行,但是虚拟机断网了,也没办法使用SSH或者其他交互方式,那此时怎么办呢?
2.在物理机上指定虚拟机运行指令
2.1VMrun
我们的VMware在安装时,也同步安装了一个叫做VMrun的工具,它可以方便的使用命令行控制虚拟机的开关机、文件拷贝、命令运行、状态显示等,我们首先找到VMrun所在的位置(如果在VMware安装时使用默认路径,则为C:\Program Files (x86)\VMware\VMware Workstation
),然后将其路径添加到环境变量,就可以在任意路径下使用VMrun工具了。
2.2使用方式
打开一个命令行,可以使用list命令查看当前已经打开的虚拟机
C:\Users\13588>vmrun -T ws list
Total running VMs: 1
D:\win10_vm\Win10\Win10.vmx
可以看到,当前打开了一个虚拟机以及虚拟机的详细路径
然后在命令行输入
vmrun -T ws -gu <用户名> -gp <密码> runProgramInGuest "虚拟机路径" -activeWindow -interactive "要运行的命令"
-activeWindow: 在虚拟机中打开一个活动的窗口。
-interactive: 使命令在交互模式下运行。
就可以在物理机上运行虚拟机内的指令
比如,我们要运行上述win10虚拟机桌面上的一个bat文件,就可以输入以下命令:
vmrun -T ws -gu XXX -gp YYYYYY runProgramInGuest "D:\win10_vm\Win10\Win10.vmx" -activeWindow -interactive "C:\Users\zpy\Desktop\test.bat"
3.VMrun其他功能
- 启动虚拟机:
vmrun -T <类型> start "虚拟机路径" [gui]
<类型>: 虚拟化平台类型,如 "ws" 表示 Workstation。
"虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
GUI: 可选参数,如果提供,虚拟机将在图形用户界面(GUI)中启动。 - 停止虚拟机:
vmrun -T <类型> stop "虚拟机路径" [硬关机选项]
<类型>: 虚拟化平台类型。
"虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
硬关机选项: 可选参数,用于指定停止虚拟机的方式,如 -hard 强制关闭,相当于断电;-soft软关机,相当于关机指令 - 在虚拟机内复制文件到主机
vmrun -T <类型> -gu <用户名> -gp <密码> copyFileFromGuestToHost "虚拟机路径" "虚拟机文件" "主机路径"
<类型>: 虚拟化平台类型。
-gu: 虚拟机内的用户名。
-gp: 虚拟机内的密码。
"虚拟机路径": 虚拟机文件或虚拟机所在目录的路径。
"虚拟机文件": 要复制的文件在虚拟机内的路径。
"主机路径": 要复制到的主机路径。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。