vmrun
命令
适用于VMware Workstation、Fusion及vSphere环境(需安装vCLI或PowerCLI)。
操作步骤:
-
打开命令行终端
- Windows:
cmd
或PowerShell
- Linux/macOS:
Terminal
- Windows:
-
定位到VMware安装目录(仅限本地环境)
cd "C:\Program Files (x86)\VMware\VMware Workstation" # Windows示例 cd /Applications/VMware\ Fusion.app/Contents/Library/ # macOS示例
-
执行关机命令
vmrun -T ws stop "虚拟机完整路径.vmx" [soft|hard]
-T ws
:指定类型为Workstation/Fusion(vSphere用-T server
)stop
:关机指令- 虚拟机路径:如
"D:\VMs\Ubuntu\Ubuntu.vmx"
- 关机模式(可选):
soft
(默认):优雅关机(需VMware Tools)hard
:强制断电(类似拔电源,仅限紧急情况)
关键要求:
- ✅ VMware Tools必须安装:否则
soft
模式失效,等同于hard
。 - ✅ 权限验证:vSphere需先通过
govc login
或Connect-VIServer
认证。
ESXi主机命令行关机
方法1:SSH远程登录(高危操作,需谨慎)
- 启用ESXi Shell:
在vSphere Client中:主机 → 操作 → 服务 → 启用SSH
- 连接ESXi主机:
ssh root@esxi_host_ip
- 优雅关机序列:
esxcli system maintenanceMode set --enable true # 进入维护模式 esxcli system shutdown poweroff --reason "Planned maintenance" # 关机
方法2:vSphere CLI(推荐)
使用 govc
或 PowerCLI
远程操作:
govc host.shutdown -host 192.168.1.100 -reason "安全关机" # govc示例 Stop-VMHost -Name "esxi01" -Confirm:$false # PowerCLI示例
安全操作规范与注意事项
-
优先级顺序
graph LR A[虚拟机] -->|首选| B(guest OS内部关机) B -->|失败| C(vmrun soft) C -->|失败| D(vmrun hard) D -->|ESXi维护| E[主机关机]
-
风险警示
- 🔴
hard
模式:可能导致数据损坏,仅当系统无响应时使用。 - 🔴 ESXi直接关机:必须确保所有虚拟机已关闭或迁移。
- 🔴 生产环境:操作前需完成备份与业务审批。
- 🔴
-
自动化脚本示例(Linux虚拟机优雅关机)
#!/bin/bash VM_PATH="/vmfs/volumes/datastore1/centos/centos.vmx" if vmrun -T esx stop "$VM_PATH" soft; then echo "虚拟机已安全关闭" else echo "优雅关机失败,尝试强制操作" vmrun -T esx stop "$VM_PATH" hard fi
常见问题解决
-
Q:
vmrun
报错 “File was not found”
→ 检查虚拟机路径是否正确,Windows路径用双引号包裹。 -
Q:ESXi关机提示”Resource is busy”
→ 确认无虚拟机运行:esxcli vm process list
-
Q:虚拟机拒绝关机(VMware Tools未响应)
→ 在guest OS内部执行停止命令:shutdown /s /t 0 # Windows sudo shutdown -h now # Linux
引用说明:
本文操作指南基于VMware官方文档(kb.vmware.com/s/article/205、kb.vmware.com/s/article/1009)及vSphere 8.0/Workstation 17最佳实践,强制关机操作规范参照《VMware vSphere安全加固指南》(2025版),自动化脚本需结合实际环境测试后部署。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6929.html