菜鸟科技网

虚拟机命令有哪些?如何运行虚拟机?

运行虚拟机的命令是管理和操作虚拟化环境的核心工具,不同的虚拟化平台(如 VMware、VirtualBox、KVM、Hyper-V 等)提供了各自的命令行接口(CLI)或管理工具,用于启动、停止、配置和管理虚拟机,以下将详细介绍常见虚拟化平台的运行命令及其使用场景,并通过表格对比不同平台的核心命令,最后附上相关问答。

虚拟机命令有哪些?如何运行虚拟机?-图1
(图片来源网络,侵删)

在 VMware 平台中,若使用 VMware Workstation 或 Pro,可通过 vmrun 命令行工具管理虚拟机,启动虚拟机的命令为 vmrun start "虚拟机路径.vmx" [gui|nogui]gui 表示图形界面启动,nogui 则为无界面启动(适用于服务器环境),停止虚拟机时,可使用 vmrun stop "虚拟机路径.vmx" [hard|soft|poweroff]hard 为强制关闭(相当于拔电源),soft 为通过客户机系统正常关机,poweroff 则直接切断电源。vmrun suspend "虚拟机路径.vmx" [hard|soft] 可挂起虚拟机,hard 为强制挂起,soft 为客户机系统休眠,VMware ESXi 作为企业级虚拟化平台,则通过 vim-cmd 命令管理虚拟机,vim-cmd vmsvc/power.on vmid 启动指定 ID 的虚拟机,vim-cmd vmsvc/power.off vmid 关闭虚拟机,需先通过 vim-cmd vmsvc/getallvms 查看虚拟机 ID。

对于 VirtualBox,其命令行工具为 VBoxManage,启动虚拟机的基本命令为 VBoxManage startvm "虚拟机名称" --type [gui|headless]gui 为图形界面,headless 为无界面模式(适合远程服务器),停止虚拟机可通过 VBoxManage controlvm "虚拟机名称" poweroff 强制关闭,或 VBoxManage controlvm "虚拟机名称 acpipowerbutton模拟电源按钮(触发客户机系统关机),挂起虚拟机使用VBoxManage controlvm "虚拟机名称" savestate,保存状态后可快速恢复,VirtualBox 还支持VBoxManage modifyvm命令修改虚拟机配置,如调整内存大小(--memory 4096)、添加网卡(--nic1 bridged`)等。

KVM(Kernel-based Virtual Machine)作为 Linux 原生虚拟化方案,通常结合 virsh 命令管理虚拟机,启动虚拟机的命令为 virsh start <虚拟机名称>,停止使用 virsh shutdown <虚拟机名称>(正常关机)或 virsh destroy <虚拟机名称>(强制关闭),挂起和恢复可通过 virsh suspend <虚拟机名称>virsh resume <虚拟机名称> 实现,KVM 还支持 qemu-system-x86_64 命令直接启动虚拟机,qemu-system-x86_64 -hda disk.img -m 2048 -enable-kvm-hda 指定磁盘镜像,-m 为内存大小,-enable-kvm 启用硬件加速。virsh list --all 可查看所有虚拟机状态(运行中、关机、暂停等)。

微软的 Hyper-V 平台通过 PowerShell cmdlet 管理虚拟机,启动虚拟机使用 Start-VM -Name "虚拟机名称",停止为 Stop-VM -Name "虚拟机名称" -Force(强制关闭),挂起和恢复命令分别为 Suspend-VM -Name "虚拟机名称"Resume-VM -Name "虚拟机名称",Hyper-V 还支持 Get-VM 查看虚拟机状态,Set-VM 修改配置(如设置内存动态调整 DynamicMemoryEnabled $true),在 Windows 命令提示符(CMD)中,也可通过 vmconnect.exe 管理虚拟机,但 PowerShell 是更强大的管理工具。

虚拟机命令有哪些?如何运行虚拟机?-图2
(图片来源网络,侵删)

以下表格对比了上述平台的核心运行命令:

虚拟化平台 启动虚拟机 停止虚拟机(正常) 停止虚拟机(强制) 挂起虚拟机
VMware (vmrun) vmrun start "路径.vmx" gui vmrun stop "路径.vmx" soft vmrun stop "路径.vmx" hard vmrun suspend "路径.vmx" soft
VirtualBox (VBoxManage) VBoxManage startvm "名称" --type gui VBoxManage controlvm "名称" acpipowerbutton VBoxManage controlvm "名称" poweroff VBoxManage controlvm "名称" savestate
KVM (virsh) virsh start <名称> virsh shutdown <名称> virsh destroy <名称> virsh suspend <名称>
Hyper-V (PowerShell) Start-VM -Name "名称" Stop-VM -Name "名称" Stop-VM -Name "名称" -Force Suspend-VM -Name "名称"

在实际使用中,运行虚拟机命令时需注意路径和名称的正确性,尤其是含空格或特殊字符时需用引号括起,无界面模式(如 headless)更适合服务器环境,可节省资源并通过 SSH 或远程桌面连接,对于企业级场景,建议结合脚本实现批量管理,例如使用 Shell 脚本(Linux)或 PowerShell 脚本(Windows)自动化启动/停止多台虚拟机。

相关问答 FAQs

问题 1:如何通过命令行查看虚拟机的实时资源使用情况?
解答:不同平台查看资源使用情况的命令不同,VMware 可使用 vmrun statsperfmon "路径.vmx" 获取性能数据;VirtualBox 通过 VBoxManage metrics "名称" --get 查看指标;KVM 使用 virsh dommemstat <名称> 查看内存统计,virsh domblkstat <名称> 查看磁盘 I/O;Hyper-V 则可通过 Get-VMVMResourceMetering -Name "名称" 获取资源计量信息,Linux 客户机内可安装 vmstattop 等工具监控资源,Windows 客户机可使用任务管理器或 PowerShell 命令。

虚拟机命令有哪些?如何运行虚拟机?-图3
(图片来源网络,侵删)

问题 2:虚拟机无响应时,如何通过命令行强制重启?
解答:强制重启需根据平台选择对应命令,VMware 使用 vmrun reset "路径.vmx" hard(强制重启,相当于按电源键);VirtualBox 通过 VBoxManage controlvm "名称" reset 强制重启;KVM 使用 virsh reset <名称>;Hyper-V 则执行 Restart-VM -Name "名称" -Force,注意:强制重启可能导致未保存数据丢失,建议优先尝试正常关机或重启命令(如 virsh reboot <名称>)。

分享:
扫描分享到社交APP
上一篇
下一篇