用cmd管理VM虚拟机,核心工具就是VMware自带的vmrun.exe,配合几条固定命令就能完成启动、关闭、挂起和快照操作,不用打开图形界面。
cmd管理vmware虚拟机命令:先找到vmrun工具
vmrun是VMware Workstation和VMware Player自带的一个命令行程序,藏在安装目录里,很多人找不到它,是因为VMware没有主动把它放进系统搜索路径。
以Windows系统为例,vmrun.exe通常位于:
- VMware Workstation Pro默认路径:
C:Program Files (x86)VMwareVMware Workstationvmrun.exe - VMware Player默认路径:
C:Program Files (x86)VMwareVMware Playervmrun.exe
如果安装时改过目录,就去对应的VMware文件夹下找,直接在资源管理器搜索vmrun.exe也能快速定位。
把vmrun加入系统PATH后,才能在任意cmd窗口直接输入vmrun调用,步骤如下:
- 右键“此电脑”,选择“属性”
- 点击“高级系统设置”
- 点击“环境变量”
- 在“系统变量”区找到Path,双击编辑
- 新建一条,粘贴vmrun.exe所在文件夹路径
- 保存后关闭所有旧cmd窗口,重新打开一个cmd
- 输入
vmrun并回车,如果出现一长串用法说明,说明配置成功
配置PATH这一步,相当一部分用户会忘记重新打开cmd,导致误以为配置失败,旧cmd窗口不会自动刷新环境变量,必须重新打开。
vmrun命令详解:从启动虚拟机到批量管理
vmrun的基本语法并不复杂,固定格式如下:
vmrun [选项] 命令 虚拟机路径 [参数]
常用选项只有三个:
-T:指定虚拟机类型,本地使用一般填ws(Workstation)或player-gu:客户机系统的用户名,用于需要登录的操作-gp:客户机系统的密码,与-gu搭配使用
虚拟机路径必须写完整,用双引号包住,指向.vmx文件,比如"D:VMwin10win10.vmx"。
核心命令对照表:
| 操作 | 命令示例 |
|---|---|
| 启动虚拟机 | vmrun -T ws start "D:VMwin10win10.vmx" |
| 软关闭虚拟机 | vmrun -T ws stop "D:VMwin10win10.vmx" soft |
| 强制关闭虚拟机 | vmrun -T ws stop "D:VMwin10win10.vmx" hard |
| 挂起虚拟机 | vmrun -T ws suspend "D:VMwin10win10.vmx" |
| 恢复挂起的虚拟机 | vmrun -T ws start "D:VMwin10win10.vmx" |
| 列出运行中的虚拟机 | vmrun list |
| 创建快照 | vmrun -T ws snapshot "D:VMwin10win10.vmx" 快照名 |
| 恢复快照 | vmrun -T ws revertToSnapshot "D:VMwin10win10.vmx" 快照名 |
| 删除快照 | vmrun -T ws deleteSnapshot "D:VMwin10win10.vmx" 快照名 |
cmd启动vmware虚拟机命令的几种变体
cmd启动vmware虚拟机命令并不只有vmrun一种,常见变体还有:
- 直接用VMware主程序启动:
vmware.exe -x "D:VMwin10win10.vmx"
这种方式会同时打开VMware的图形窗口,适合本机调试或需要看到虚拟机屏幕的场景。 - 用vmrun后台启动:
vmrun -T ws start "D:VMwin10win10.vmx"
关闭cmd窗口后虚拟机仍会继续运行,适合脚本调用和无人值守场景。 - 将启动命令写入bat文件,放进Windows启动文件夹,可以实现登录系统后自动启动指定虚拟机。
批量管理虚拟机时,可以先准备一个文本文件,每行放一个.vmx路径,再用for循环逐行读取执行,这样一条命令就能同时启动或关闭多台测试机。
Windows cmd控制虚拟机:启动、关闭命令场景实操
Windows cmd控制虚拟机的典型场景,是开发测试人员每天需要启动同一套测试环境,手动打开VMware再点击开机很浪费时间,写成bat文件就快得多。
启动虚拟机的bat文件示例:
@echo off
"C:Program Files (x86)VMwareVMware Workstationvmrun.exe" -T ws start "D:VMtesttest.vmx"
保存为start_vm.bat,双击即可运行,如果需要定时启动,把bat文件加入任务计划程序,设置每天几点执行。
关闭虚拟机时要注意soft和hard的区别:
soft:向虚拟机系统发送关机信号,相当于正常关机,前提是客户机里安装了VMware Tools,否则信号无法送达。hard:直接切断虚拟机电源,相当于拔掉物理机电源,只在系统死机或无响应时使用。
日常运维中,优先使用soft,避免数据丢失或文件系统损坏。
用cmd批量创建快照
批量操作的核心仍然是for循环,假设虚拟机路径列表存在
vm_list.txt中,每行一个完整路径,批量创建快照的命令可以写成:
for /F "tokens=" %%i in (vm_list.txt) do vmrun -T ws snapshot "%%i" backup_2026
执行后,列表中的每台虚拟机都会生成名为backup_2026的快照,同样的思路可以迁移到批量启动、批量关闭等场景。
免费虚拟机管理命令对比:VMware与VirtualBox命令行差异
免费虚拟机管理命令对比,绕不开两个主流工具:VMware的vmrun和VirtualBox自带的VBoxManage,两者都能用cmd控制虚拟机,但语法差异较大。
核心命令对比表:
| 功能 | VMware vmrun | VirtualBox VBoxManage |
|---|---|---|
| 启动虚拟机 | vmrun -T ws start "D:vm.vmx" |
VBoxManage startvm "虚拟机名" --type headless |
| 关闭虚拟机 | vmrun -T ws stop "D:vm.vmx" soft |
VBoxManage controlvm "虚拟机名" acpipowerbutton |
| 强制关机 | vmrun -T ws stop "D:vm.vmx" hard |
VBoxManage controlvm "虚拟机名" poweroff |
| 创建快照 | vmrun -T ws snapshot "D:vm.vmx" 快照名 |
VBoxManage snapshot "虚拟机名" take "快照名" |
| 列出运行中的虚拟机 | vmrun list |
VBoxManage list runningvms |
VMware Workstation Pro是商业软件,vmrun功能完整,VMware Player免费版也带vmrun,但部分高级功能比如命令行快照可能受限,VirtualBox完全免费,VBoxManage命令行功能齐全,而且跨平台支持较好。
如果只是本地测试或个人学习,VirtualBox的免费方案在命令管理上并不弱,如果公司环境已经在用VMware Workstation,继续用vmrun更省钱,不需要额外迁移。
cmd远程管理虚拟机:网络环境下的命令注意事项
cmd远程管理虚拟机,实际生产环境里通常不是直接在VMware里配置远程参数,而是先远程登录宿主机,再在远程cmd中执行vmrun。
常见做法有两种:
- Windows宿主机开启远程桌面,从本地电脑远程登录后打开cmd窗口,执行vmrun命令。
- Linux或Windows宿主机开启SSH服务,通过SSH客户端连接后执行命令行操作。
远程执行时要注意几个坑:
- 虚拟机路径必须使用宿主机上的绝对路径,不能用本地电脑的路径。
- cmd窗口需要以管理员权限运行,否则可能遇到权限不足的问题。
- 如果虚拟机存储在共享文件夹或NAS上,路径要写成UNC路径,比如
\192.168.1.100vmwin10.vmx。 - 防火墙需要放行远程桌面端口3389或SSH端口22,否则远程连接会被拦截。
行业共识认为,命令行管理虚拟机的最大优势在于可脚本化和批量执行,远程场景下,把vmrun命令封装成脚本,能显著减少重复登录图形界面的操作。
cmd管理虚拟机常见报错与排查
用cmd操作虚拟机时,报错信息往往比图形界面更直接,常见问题有以下几类:
- 提示“vmrun不是内部或外部命令”:PATH没有配置好,或者旧cmd窗口没关,重新检查环境变量,打开新cmd再试。
- 提示“Error: Cannot connect to virtual machine”:虚拟机路径写错,或者.vmx文件不存在,检查路径是否完整,文件名是否包含空格和引号。
- 提示“The virtual machine is busy”:上一项操作还没结束,虚拟机正在处理其他指令,等待几秒后重试,或者在任务管理器中结束残留的vmware-vmx.exe进程。
- 快照创建失败:磁盘剩余空间不足,或者虚拟机处于运行状态且磁盘正在被占用,先关闭虚拟机或清理磁盘空间再重试。
排查思路和图形界面一致,主要看路径、权限、进程状态,命令行报错信息通常会把原因直接打印出来,比图形界面更容易定位。
cmd如何管理vm虚拟机常见问题解答
cmd管理vmware虚拟机需要付费吗?
VMware Workstation Pro是商业软件,vmrun命令随软件提供,购买后即可使用,VMware Player免费版也包含vmrun,但快照等部分命令行功能可能受限,VirtualBox完全免费,VBoxManage命令功能齐全,是免费方案中的常用选择。
cmd关闭虚拟机用soft还是hard?
soft依赖VMware Tools,会向系统发送正常关机信号,适合日常关闭,hard相当于直接断电,只在系统无响应时使用,日常运维优先soft,能减少文件系统损坏风险。
cmd如何管理vm虚拟机快照?命令行能批量打快照吗?
使用vmrun snapshot创建快照,vmrun revertToSnapshot恢复快照,vmrun deleteSnapshot删除快照,批量操作可以配合for循环读取虚拟机路径列表,逐个执行快照命令,多数情况下,批量快照脚本能覆盖几十台虚拟机,执行速度取决于磁盘性能和虚拟机数量。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/662530.html





