虚拟机开启命令是管理虚拟化环境的核心操作,无论是日常开发测试、服务器部署还是学习实验,都离不开对虚拟机的精准控制,掌握不同虚拟化平台的开机命令,不仅能提升工作效率,还能满足自动化运维和批量管理的需求,本文将围绕主流虚拟化工具的开机命令展开,涵盖命令格式、参数选项及实际应用场景,帮助读者全面理解虚拟机开启的技术细节。

VMware Workstation/Fusion 的虚拟机开启命令
VMware 作为桌面端最常用的虚拟化软件,提供了图形界面和命令行两种管理方式,在 VMware Workstation Pro 或 Fusion 中,可通过 vmrun 命令行工具实现虚拟机的开启操作。
基本命令格式
vmrun start [虚拟机路径] [运行模式]
- 虚拟机路径:需填写
.vmx配置文件的完整路径,"/Users/user/VMs/Windows 10.vmx"或"D:\VMs\Ubuntu\Ubuntu.vmx"。 - 运行模式:可选参数,包括
nogui(无图形界面启动,适用于服务器后台运行)、gui(图形界面启动,默认模式)。
实际应用示例
-
以图形界面启动虚拟机
vmrun start "/Users/user/VMs/Windows 10.vmx" gui
此命令会直接打开 VMware 窗口并启动 Windows 10 虚拟机,适合需要交互操作的场景。
-
无界面启动虚拟机
vmrun start "D:\VMs\Ubuntu\Ubuntu.vmx" nogui
该命令在后台启动 Ubuntu 虚拟机,不显示图形界面,适合通过 SSH 或远程桌面连接,节省系统资源。
注意事项
- 确保虚拟机处于“已关闭”或“已暂停”状态,避免冲突。
- 若虚拟机配置了快照,
vmrun start默认会基于当前状态启动,若需恢复快照需结合snapshot命令使用。
VirtualBox 的虚拟机开启命令
VirtualBox 作为开源虚拟化工具,其命令行管理通过 VBoxManage 实现,功能丰富且支持跨平台操作。
基本命令格式
VBoxManage startvm [虚拟机名称/UUID] [运行模式]
- 虚拟机名称/UUID:可通过
VBoxManage list vms查询虚拟机名称或 UUID,"Ubuntu-20.04"或"f3c4b2a1-e5d6-7890-abcd-1234567890ab"。 - 运行模式:可选参数,包括
headless(无图形界面,类似 VMware 的nogui)、gui(图形界面启动)。
实际应用示例
-
图形界面启动虚拟机

VBoxManage startvm "Ubuntu-20.04" gui
启动后会在 VirtualBox 窗口中显示虚拟机界面,支持鼠标、键盘交互。
-
无界面启动虚拟机
VBoxManage startvm "f3c4b2a1-e5d6-7890-abcd-1234567890ab" headless
适用于服务器环境,虚拟机在后台运行,可通过
VBoxManage list runningvms查看运行状态。
高级参数
- 指定显示设备:通过
--type参数可调整显示模式,--type sdl(使用 SDL 渲染)、--type vrdp(启用远程桌面协议)。VBoxManage startvm "Ubuntu-20.04" --type vrdp
KVM/QEMU 的虚拟机开启命令
KVM(Kernel-based Virtual Machine)是 Linux 原生的虚拟化技术,常通过 virsh 或 qemu-system-x86_64 命令管理虚拟机。
使用 virsh 管理(Libvirt 方式)
virsh 是基于 Libvirt 的命令行工具,适合管理通过 virt-manager 或 virsh define 创建的虚拟机。
基本命令格式
virsh start [虚拟机名称] [--paused] [--console]
--paused:启动后暂停虚拟机,需手动执行virsh resume继续。--console:启动后直接连接虚拟机控制台。
示例

virsh start my_vm --console
使用 qemu-system-x86_64 直接启动
适用于未通过 Libvirt 管理的虚拟机,需手动指定虚拟机配置文件(如 -hda 磁盘镜像、-cdrom 光驱等)。
基本命令格式
qemu-system-x86_64 -hda [磁盘镜像路径] -m [内存大小] -smp [CPU核心数] [--enable-kvm]
--enable-kvm:启用 KVM 加速,提升性能。
示例
qemu-system-x86_64 -hda /var/lib/libvirt/images/my_vm.qcow2 -m 4G -smp 2 --enable-kvm
批量自动化开启虚拟机的实践场景
在运维或开发环境中,常需批量开启多台虚拟机,可通过脚本结合上述命令实现自动化。
示例:使用 Bash 批量启动 VMware 虚拟机
#!/bin/bash
VM_LIST=(
"/Users/user/VMs/VM1.vmx"
"/Users/user/VMs/VM2.vmx"
"/Users/user/VMs/VM3.vmx"
)
for vm in "${VM_LIST[@]}"; do
vmrun start "$vm" nogui
echo "Started: $vm"
done
将脚本保存为 start_vms.sh,赋予执行权限(chmod +x start_vms.sh)后运行,即可批量启动虚拟机。
虚拟机开启时的常见问题与解决
- 端口冲突:若虚拟机使用 NAT 模式且端口被占用,可通过修改虚拟机配置或关闭占用端口的程序解决。
- 权限不足:执行命令时提示“Permission denied”,需确保当前用户对虚拟机文件有读写权限(如 VMware 中将用户加入
vmware组)。 - 虚拟机损坏:若启动失败,可尝试通过快照恢复或检查磁盘镜像文件完整性。
掌握虚拟机开启命令是虚拟化技术的基础,无论是单台管理还是批量操作,灵活运用命令行工具都能显著提升工作效率,在实际应用中,需根据虚拟化平台特性选择合适的命令,并结合参数优化启动方式,以满足不同场景的需求。



















