服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-14 更新于 2026-10-14 简米科技 5,591 字 13 分钟阅读

虚拟机开启命令有哪些?不同系统下命令一样吗,linux和windows启动虚拟机命令

导读Windows常用PowerShell的Start-VM,Linux常用virsh start,VirtualBox跨平台用VBoxManage startvm,云服务器则走API或CLI;不同系统下是否一样,取决于虚拟化平台而不是操作系统牌子,很多人第一次接触虚拟机,以为“开机”就是敲一句万能命令,实际到了机……

Windows常用PowerShell的Start-VM,Linux常用virsh start,VirtualBox跨平台用VBoxManage startvm,云服务器则走API或CLI;不同系统下是否一样,取决于虚拟化平台而不是操作系统牌子。

很多人第一次接触虚拟机,以为“开机”就是敲一句万能命令,实际到了机房、笔记本、私有云或公有云控制台,你会发现每个平台都像不同品牌的电器,插头形状不一样,业内专家指出,虚拟化命令的差异主要来自管理接口层:Hyper-V走PowerShell和WMI,KVM走libvirt和QEMU,VMware走vmrun,VirtualBox走VBoxManage。

虚拟机开启命令有哪些?不同系统下命令一样吗?

先分清虚拟机和虚拟化平台

虚拟机是运行在物理机上的隔离系统实例,虚拟化平台负责创建、启动、停止和迁移它,你敲的命令,本质是在向平台发指令。

  • Hyper-V:微软Windows自带,命令以PowerShell为主。
  • KVM/QEMU:Linux内核主线虚拟化方案,命令以virsh和qemu-system-为主。
  • VMware Workstation/Fusion/ESXi:商业平台,命令行工具常为vmrun、vim-cmd。
  • VirtualBox:跨平台开源平台,核心命令是VBoxManage。
  • Proxmox VE:基于Debian和KVM,管理命令为qm、pct。
  • 公有云:简米云、酷番云、AWS等,用云CLI或API启动实例。

不同系统下命令为什么不一样

同一台物理机装了不同系统,虚拟化平台可能完全不同,Windows Server默认可能启用Hyper-V,Linux服务器常用KVM,macOS上更多人用Parallels或VMware Fusion,平台不同,命令自然不同。

同一个平台跨系统时,命令有时相似,VirtualBox在Windows、Linux、macOS上都可用VBoxManage startvm,但安装路径和权限不同,VMware的vmrun也跨平台,但参数和许可证不同,KVM的virsh主要在Linux生态中使用,Windows原生并不支持。

虚拟机开启命令有哪些?不同系统下命令一样吗,linux和windows启动虚拟机命令

宿主系统 虚拟化平台 常用启动命令 备注
Windows Hyper-V Start-VM -Name "VM名" 管理员PowerShell
Windows VMware Workstation vmrun start "C:VMstest.vmx" nogui 需vmrun路径
Windows VirtualBox VBoxManage startvm "VM名" --type headless 无界面启动
Linux KVM/libvirt virsh start vmname 需libvirtd运行
Linux QEMU qemu-system-x86_64 -enable-kvm -m 2048 -hda disk.img 手动指定参数
Linux VirtualBox VBoxManage startvm "VM名" --type headless 与Windows类似
macOS VMware Fusion vmrun -T fusion start "/Users/me/vm.vmx" nogui 商业软件
macOS Parallels prlctl start "Windows 11" 商业软件
私有云 Proxmox VE qm start 100 100为VMID
公有云 简米云CLI aliyun ecs StartInstance --InstanceId i-xxx 启动云主机
公有云 AWS CLI aws ec2 start-instances --instance-ids i-xxx 启动EC2实例

表格里的命令不是全部,但覆盖了多数常见场景。跨平台命令完全一致的情况较少,多数情况下需要按平台换命令。

Windows开启Hyper-V虚拟机命令怎么操作?

Hyper-V PowerShell常用命令

Windows专业版、企业版和Server版可启用Hyper-V,以管理员身份打开PowerShell。

  • 查看虚拟机:Get-VM
  • 启动虚拟机:Start-VM -Name "Windows11-Test"
  • 关闭虚拟机:Stop-VM -Name "Windows11-Test"
  • 强制关闭:Stop-VM -Name "Windows11-Test" -TurnOff
  • 设置自动启动:Set-VM -Name "Windows11-Test" -AutomaticStartAction Start

如果虚拟机名称带空格,用引号包住,启动后可用vmconnect localhost "Windows11-Test"打开控制台。

VMware Workstation和VirtualBox在Windows下的命令

VMware Workstation安装后,vmrun通常在C:Program Files (x86)VMwareVMware Workstationvmrun.exe,命令示例:

  • 启动有界面:vmrun start "D:VMswin10win10.vmx"
  • 无界面启动:vmrun start "D:VMswin10win10.vmx" nogui
  • 查看运行列表:vmrun list

VirtualBox在Windows下安装后,把安装目录加入PATH,或进入安装目录执行:

  • 查看虚拟机:VBoxManage list vms
  • 无界面启动:VBoxManage startvm "ubuntu-server" --type headless
  • 带界面启动:VBoxManage startvm "ubuntu-server" --type gui

实操步骤与权限

  1. 确认虚拟化平台已安装并运行。
  2. 查虚拟机名称,避免名字写错。
  3. 用管理员权限打开终端。
  4. 执行启动命令。
  5. 用控制台或远程桌面连接。

权限不足是Windows下启动失败的常见原因,Hyper-V需要管理员PowerShell,VirtualBox普通用户通常可用,但驱动安装可能需要管理员。

Linux下启动KVM虚拟机常用命令有哪些?

libvirt和virsh启动KVM

Linux服务器上,KVM常配合libvirt管理,先确认libvirtd服务:

  • systemctl status libvirtd
  • 虚拟机开启命令有哪些?不同系统下命令一样吗,linux和windows启动虚拟机命令

    systemctl start libvirtd

  • systemctl enable libvirtd

然后查看和启动虚拟机:

  • 查看全部:virsh list --all
  • 启动:virsh start vmname
  • 关闭:virsh shutdown vmname
  • 强制关闭:virsh destroy vmname
  • 设置自启:virsh autostart vmname
  • 查看信息:virsh dominfo vmname

如果提示权限拒绝,把当前用户加入libvirt组:

  • sudo usermod -aG libvirt $USER
  • 重新登录后生效。

QEMU直接启动

不用libvirt时,可以直接调用QEMU,适合临时测试和脚本控制。

  • qemu-system-x86_64 -enable-kvm -m 2048 -smp 2 -hda /var/lib/libvirt/images/test.qcow2 -nographic

参数含义:-enable-kvm启用硬件加速,-m 2048分配2GB内存,-smp 2给2个CPU核心,-hda指定磁盘,-nographic无图形界面,直接QEMU启动灵活,但网络、存储和快照管理要自己处理。

VirtualBox和VMware在Linux下的命令

VirtualBox在Linux下命令与Windows一致:

  • VBoxManage list vms
  • VBoxManage startvm "ubuntu-server" --type headless

VMware Workstation或Fusion在Linux下可用vmrun:

  • vmrun start /home/user/vm/ubuntu/ubuntu.vmx nogui

Linux下更依赖命令行和权限模型,很多服务器没有图形界面,headless启动是常态。

免费开源虚拟机开启命令要花钱吗?

命令本身不收费,你敲virsh start、VBoxManage startvm、qm start,不需要为这行命令付钱,但虚拟化平台可能有授权成本。

  • KVM/QEMU:开源免费,企业级支持可购买订阅。
  • VirtualBox:个人和评估免费,企业扩展包可能涉及授权。
  • Proxmox VE:社区版免费,企业版提供订阅和支持。
  • VMware vSphere/ESXi:商业授权,按CPU、订阅或套餐计费。
  • Hyper-V:Windows Server授权包含,客户端Hyper-V受系统版本限制。
  • Parallels:macOS商业软件,按版本授权。

据Linux基金会公开资料,KVM已成为Linux内核主线虚拟化方案,行业共识认为,免费平台省的是许可费,不是运维成本,企业用开源方案时,常把预算放在支持、监控和备份上。

云服务器和本地电脑开启虚拟机命令一样吗?

公有云走API和CLI

云服务器上的“虚拟机”通常是云主机实例,启动命令不是本地虚拟化命令,而是云厂商API。

  • 简米云:aliyun ecs StartInstance --InstanceId i-xxx
  • 酷番云:tccli cvm StartInstances --InstanceIds '["ins-xxx"]'

    虚拟机开启命令有哪些?不同系统下命令一样吗,linux和windows启动虚拟机命令

  • AWS:aws ec2 start-instances --instance-ids i-xxx
  • 华为云:hcloud ECS StartServers --servers.1.id server-id

这些命令需要配置AccessKey、SecretKey和地域Region,云主机启动速度快,但计费按实例规格、镜像、磁盘和网络计算。

私有云Proxmox VE和oVirt

私有云里,Proxmox VE很常见,启动命令:

  • 查看虚拟机:qm list
  • 启动虚拟机:qm start 100
  • 关闭虚拟机:qm shutdown 100
  • 容器启动:pct start 101

oVirt/RHV可用virsh或管理API,北京上海等地企业内网里,IT管理员常用Proxmox VE、oVirt和OpenStack做资源池,北京上海企业内网常用Proxmox VE开启命令时,qm start 100和virsh start vmname出现频率较高,地域不影响命令语法,影响的是网络策略、合规要求和镜像源配置。

常见坑与排查

  • 虚拟机名称写错:先用列表命令确认。
  • 服务没启动:libvirtd、Hyper-V服务、VirtualBox驱动。
  • 权限不足:Linux加libvirt组,Windows用管理员。
  • 资源不够:内存、CPU、磁盘空间不足会启动失败。
  • 锁文件残留:VMware可检查.lck目录,QEMU可查pid文件。
  • 网络冲突:桥接、NAT、仅主机模式配置错误。
  • 云API地域错误:AccessKey、RegionId、实例ID要匹配。

虚拟机开启命令看平台,不看操作系统牌子;同一平台跨系统可能相似,不同平台基本各用各的命令。 先确认虚拟化平台,再查虚拟机名称,最后用对应命令启动,这是最稳的路径。

Q&A:虚拟机开启命令有哪些常见疑问?

Q:虚拟机开启命令在不同系统下能通用吗?

不能一概而论,VirtualBox的VBoxManage startvm在Windows、Linux、macOS上相对通用,VMware的vmrun也跨平台,但Hyper-V的Start-VM只在Windows PowerShell中可用,KVM的virsh start主要在Linux生态中可用,云服务器则完全走各厂商CLI或API。

Q:没有图形界面时怎么启动虚拟机?

优先使用headless或nogui模式,VirtualBox用VBoxManage startvm "VM名" --type headless,VMware用vmrun start "路径.vmx" nogui,KVM用virsh start vmname,启动后通过SSH、RDP或串口控制台接入,QEMU可加-nographic直接进串口。

Q:免费开源虚拟机开启命令要花钱吗?

命令本身不收费,KVM、QEMU、VirtualBox、Proxmox VE社区版都可免费使用,是否付费取决于平台授权、企业支持和增值功能,商业虚拟化平台和公有云实例通常按授权或资源计费。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱