虚拟机创建命令常用参数有哪些?操作步骤详解

虚拟机创建命令并没有统一的万能版本,关键在于你使用的虚拟化平台,但常用参数都围绕CPU、内存、磁盘、网络这四大核心资源展开,具体操作步骤则因工具而异。

如果你在Linux服务器上工作,大概率会碰到virt-install;如果你用的是Windows Server,那么PowerShell里的New-VM才是主角;至于开发测试场景,Vagrant这类命令则更轻量,下面我按场景拆开讲,每一步都给你能直接复制的命令。

QEMU虚拟机高级用法(参数分解版)
加载中
QEMU虚拟机高级用法(参数分解版)

虚拟机创建命令有哪些常用参数:以Linux平台KVM创建虚拟机命令virt-install为例

KVM是Linux内核自带的虚拟化模块,行业共识认为它目前是云服务器底层用得最广的技术之一,在命令行创建KVM虚拟机,最常用的工具就是virt-install,它的参数虽然多,但核心就几类,掌握了这些,虚拟机创建命令的常用参数你就懂了大半。

CPU与内存参数:决定这台虚拟机的基础算力

  • --vcpus:直接指定虚拟机的CPU核心数,比如--vcpus 4就是分配4个vCPU,你可以写成--vcpus 4,maxvcpus=8,这样虚拟机运行中能热添加CPU。
  • --memory:单位是KiB(千字节),日常用--memory 4096表示4GB内存,需要热插拔内存时,可以写成--memory 4096,maxmemory=8192。

磁盘与存储参数:决定系统装在哪里

  • --disk path=/data/vms/centos7.qcow2,size=50:path是磁盘文件的完整路径,size单位是GB,表示创建一块50GB的qcow2格式虚拟磁盘,qcow2是KVM默认格式,支持写时复制和快照。
  • 更进阶一点的写法是--disk path=/data/vms/centos7-1.qcow2,size=50,format=qcow2,bus=virtio,其中bus=virtio是磁盘总线类型,半虚拟化性能好,如果不加,默认走IDE,速度差距挺明显。

网络参数:决定虚拟机怎么联网

  • --network network=default:这是最常用的,连接libvirt默认的NAT网络,虚拟机可以访问外网,但外部无法主动访问虚拟机。
  • --network bridge=br0:桥接模式,虚拟机直接暴露在物理局域网中,有自己的独立IP,生产环境对外提供服务一般用这个。
  • --network network=default,model=virtio:model指定网卡类型,virtio是半虚拟化网卡,性能远超默认的e1000。

其他必带参数:名字、内存、操作系统

--name是必填项,给虚拟机起个唯一的名字;--os-variant用来告诉virt-install你装的是什么系统,比如--os-variant centos7.0,这样它会自动优化CPU和驱动模型,不知道怎么写的,用osinfo-query os命令查询支持列表,还有安装源--cdrom或者--location,一个是本地ISO镜像路径,一个是网络安装源地址。

KVM创建虚拟机命令的完整操作步骤

理论说了一堆,直接看命令,下面我用一个实际例子演示完整流程,从检查环境到虚拟机开机。

虚拟机创建命令常用参数有哪些?操作步骤详解

  1. 检查CPU是否支持虚拟化,输入lscpu查看,如果输出里有vmx(Intel)或svm(AMD)标识,说明硬件支持。
  2. 确认KVM相关软件包装齐了,需要qemu-kvm、libvirt-daemon、virt-install,用yum install -y qemu-kvm libvirt-daemon virt-install安装(Ubuntu下是apt)。
  3. 启动libvirt服务并设置开机自启,执行systemctl start libvirtd和systemctl enable libvirtd。
  4. 准备一个存放磁盘镜像的目录,比如mkdir -p /data/vms,这个路径最好有足够磁盘空间,用df -h提前看一下。
  5. 执行核心的虚拟机创建命令,下面是装一台CentOS 7.9虚拟机的完整命令:
virt-install 
--name centos7-test 
--memory 4096 
--vcpus 4 
--disk path=/data/vms/centos7-test.qcow2,size=50,format=qcow2,bus=virtio 
--network network=default,model=virtio 
--os-variant centos7.0 
--cdrom /data/iso/CentOS-7-x86_64-Minimal-2009.iso 
--graphics vnc,listen=0.0.0.0 
--noautoconsole

这条命令的含义是:创建一台叫centos7-test的虚拟机,4GB内存,4核CPU,50GB的virtio磁盘,NAT网络,从本地ISO镜像安装,VNC远程图形界面,不自动打开控制台。

  1. 查看虚拟机是否创建成功,执行virsh list --all,能看到centos7-test处于关闭状态就对了。
  2. 启动虚拟机并连接控制台,执行virsh start centos7-test,然后用virsh vncdisplay centos7-test查看VNC端口,用VNC客户端连接过去手动完成系统安装。

虚拟机创建命令有哪些常用参数:Windows平台Hyper-V新建虚拟机命令

如果你手头是Windows Server或者Win10/11专业版,走Hyper-V这条路更顺畅,Hyper-V用PowerShell命令操作,核心就是New-VM,网上搜“Hyper-V新建虚拟机命令”,搜出来基本都是它。

Hyper-V新建虚拟机命令的PowerShell参数清单

  • -Name:虚拟机名称,这是必填的。
  • -MemoryStartupBytes:启动内存大小,单位是字节,比如-MemoryStartupBytes 4GB,PowerShell里可以直接用GB单位。
  • -BootDevice:启动设备,可以是VHD(虚拟硬盘)或CD(光驱)。
  • -VHDPath:指定虚拟硬盘文件路径,配合-NewVHDPath和-NewVHDSizeBytes使用,可以自动创建新硬盘。
  • -SwitchName:指定虚拟交换机名称,先在Hyper-V管理器里创建好虚拟交换机,然后用这个参数绑定,如果不指定,虚拟机就没有网络。
  • -Generation:指定第几代虚拟机。-Generation 2表示第二代,支持UEFI启动和安全启动,装新系统强烈建议用2代。

Hyper-V创建虚拟机的实际操作路径

虚拟机创建命令常用参数有哪些?操作步骤详解

  1. 以管理员身份打开PowerShell。
  2. 先确认Hyper-V功能已启用,执行Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All查看状态,如果未启用,用Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All启用并重启。
  3. 查看可用的虚拟交换机,执行Get-VMSwitch,记下你要用的交换机名称。
  4. 执行Hyper-V新建虚拟机命令,比如创建一个名为“WinServer2026”的虚拟机,4GB内存,绑定外部网络交换机:
New-VM -Name "WinServer2026" `
-MemoryStartupBytes 4GB `
-BootDevice VHD `
-NewVHDPath "D:Hyper-VWinServer2026.vhdx" `
-NewVHDSizeBytes 60GB `
-SwitchName "ExternalSwitch" `
-Generation 2
  1. 设置虚拟机从ISO镜像启动,把安装镜像挂载到虚拟光驱,执行Set-VMDvdDrive -VMName "WinServer2026" -Path "D:ISOWindowsServer2026.iso"。
  2. 调整启动顺序,让光驱优先于硬盘,执行Set-VMFirmware -VMName "WinServer2026" -BootOrder $(Get-VMFirmware -VMName "WinServer2026").BootOrder,或者直接在Hyper-V管理器的固件设置里手动拖拽。
  3. 启动虚拟机,执行Start-VM -Name "WinServer2026",然后在Hyper-V管理器里双击连接窗口完成系统安装。

电脑创建虚拟机选哪个命令:开发测试场景下的轻量方案与其他选择

很多人在自己电脑上折腾虚拟机,问“电脑创建虚拟机选哪个命令”,如果不求完整的企业级功能,只求快速起一个环境,那Vagrant值得优先考虑,它有一套独立于底层虚拟化平台的命令体系。

Vagrant快速创建虚拟机的命令变化

  • vagrant init:初始化当前目录,生成Vagrantfile配置文件,比如vagrant init centos/7,意思是使用CentOS 7的官方镜像模板。
  • vagrant up:根据Vagrantfile配置创建并启动虚拟机。
  • vagrant ssh:直接SSH登录到虚拟机里。
  • vagrant halt:关闭虚拟机。
  • vagrant destroy:销毁虚拟机,不留痕迹。

Vagrant的好处是配置可以版本管理,团队协作时大家拉下来跑vagrant up,能得到完全一致的环境,它底层调用的还是VirtualBox或Hyper-V,这些虚拟机创建命令本身对你不可见,相当于多了一层自动化封装。

各平台虚拟机创建命令对比一览

虚拟机创建命令常用参数有哪些?操作步骤详解

场景 核心命令 配置文件格式 适合人群 上手难度
Linux服务器KVM virt-install 命令行参数 运维、云平台管理员 中等
Windows Hyper-V New-VM PowerShell命令 Windows管理员 中等
开发测试环境 vagrant up Vagrantfile 开发、测试工程师 低
桌面快速体验 VBoxManage createvm VirtualBox命令 个人用户 低

虚拟机创建命令记不住怎么办:用模板脚本固化常用参数

我见过不少人问“虚拟机创建命令参数太多记不住怎么办”,参数列表确实长,但不用硬背,行业内的常见做法是把虚拟机创建命令写成脚本或模板。

比如在Linux下,把常用配置写进一个Shell脚本,每次改个名字和IP就能复用:

#!/bin/bash
# 定义通用变量
VM_NAME=$1
VM_MEMORY=4096
VM_VCPUS=2
VM_DISK_PATH="/data/vms/${VM_NAME}.qcow2"
VM_ISO="/data/iso/CentOS-7-x86_64-Minimal-2009.iso"
virt-install 
--name ${VM_NAME} 
--memory ${VM_MEMORY} 
--vcpus ${VM_VCPUS} 
--disk path=${VM_DISK_PATH},size=50,format=qcow2,bus=virtio 
--network network=default,model=virtio 
--os-variant centos7.0 
--cdrom ${VM_ISO} 
--graphics vnc,listen=0.0.0.0 
--noautoconsole

保存为create-vm.sh,每次执行bash create-vm.sh centos7-node1就能快速拉起一台新虚拟机,PowerShell那边同理,把New-VM的参数封成函数放$PROFILE文件里,用的时候一行搞定。

虚拟机创建命令的常见疑问解答

虚拟机创建命令linux上与Windows上差异大吗?

差异很大,Linux主流是virt-install和qemu-img等命令组合,参数风格类似GNU命令行工具,短横线加小写字母,Windows上主要用PowerShell的New-VM,参数叫-Name、-MemoryStartupBytes,有鲜明的PowerShell风格,两者的底层原理虽然都是CPU虚拟化和内存隔离,但操作方式完全不同,需要花一点时间分别熟悉。

创建虚拟机时内存和CPU参数设置多大合适?

没有固定答案,主要看宿主机资源和虚拟机内业务需求,一个小规格的Linux测试机配2GB内存和2核CPU足够日常练习;跑Windows Server或者数据库系统,建议至少4GB起步,vCPU数量不宜超过宿主机逻辑核心总数的一半,否则多台虚拟机之间容易争抢资源,内存方面,行业内常用的做法是预留20%左右的宿主机内存不分配出去,避免物理内存耗尽触发SWAP导致整机卡顿。

virt-install和qemu-img什么关系?

两者是配合关系,qemu-img只负责创建和管理磁盘镜像文件,比如qemu-img create -f qcow2 disk.qcow2 50G,相当于先把硬盘生产出来,virt-install则是负责把CPU、内存、磁盘、网络组装起来并开始装系统,实际使用中,可以在virt-install的--disk参数里指定一个已存在的qcow2文件,也可以让它自动调用qemu-img创建,virt-install创建的磁盘默认在/var/lib/libvirt/images/目录下,建议生产环境自定义路径,方便管理。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/624637.html

赞 (0)
cf一直连接服务器异常是怎么回事,如何解决?
上一篇 2026年9月5日 11:05
如何在pd虚拟机里流畅运行CAD软件?,虚拟机运行CAD卡顿怎么办?
下一篇 2026年9月5日 11:05

相关推荐

  • 社区服务器的配置要求到底都有哪些呢,怎么选

    搭建社区服务器的核心要求取决于成员规模和实际用途,基础配置至少需要4核CPU、8G内存、5M带宽起步,若用于大型游戏联机或视频社区,则需同步提升计算、存储与网络规格,社区服务器配置要求:从硬件到软件的完整清单社区服务器的搭建并不是简单买台机器就能解决,它涉及计算资源、存储方案、网络环境、操作系统选型以及安全加固……

    2026年10月2日
    100
  • html短信验证模板怎么写?发送短信验证码接口怎么申请

    “`第二步:优化视觉层级与可读性验证码数字是用户最关注的信息,必须通过CSS进行强化,字号设置:验证码数字的字号应至少为24px,建议设置为32px,确保在小屏幕手机上无需放大即可查看,颜色对比:使用高对比度颜色,如深灰色或品牌主色,背景使用浅灰色或白色,避免使用红色或绿色,以防色盲用户无法识别,字间距:适当……

    2026年6月11日
    2700
  • 觅光这次升级了哪些服务器,升级后性能提升多少?

    觅光这轮服务器升级,不是简单换几台机器,而是把接入、计算、存储、消息、AI推理和边缘节点一起动了, 用户能直接感知到的,是APP打开更快、设备连接更稳、图片和报告加载更顺,觅光升级了哪些服务器?把全链路拆开看从用户点开APP到设备回传数据,一次请求会经过多个服务器角色,觅光升级服务器,通常也是按这条链路逐段替换……

    2026年10月6日
    000
  • Apache服务器怎么安装配置?Apache服务器安装配置教程

    Apache服务器安装与配置的核心在于通过包管理器快速部署基础环境,并利用虚拟主机和模块加载实现多站点隔离与功能扩展,这是目前最稳定且社区支持最完善的Web服务方案之一,在构建Web服务时,Apache HTTP Server 依然是许多开发者和运维人员的首选,它以其模块化设计和跨平台兼容性著称,无论是运行在L……

    2026年6月24日
    1500
  • 广州ECS云服务器22端口号是什么?如何配置安全组规则

    广州ECS云服务器22端口号的安全配置与连接稳定性,直接决定了服务器运维的基准安全线与业务连续性,核心结论在于:22端口作为远程管理的唯一入口,其默认设置往往是恶意攻击的重灾区,企业必须通过修改默认端口、实施最小化权限原则以及部署入侵检测机制,构建起纵深防御体系,而非仅仅依赖云厂商的基础防护, 22端口的核心价……

    2026年3月31日
    9800
  • html链接颜色js怎么设置?css控制超链接颜色

    HTML链接颜色默认由浏览器样式表决定,通常蓝色代表未访问、紫色代表已访问,但通过CSS的color属性或JavaScript动态修改style.color,可以完全自定义链接在不同状态下的视觉表现,这是提升用户体验和界面设计灵活性的关键手段,在网页开发的早期阶段,链接颜色几乎是固定的蓝色,这种约定俗成的规范虽……

    2026年6月5日
    3400
  • 风电云解决方案的方案概述是什么,有哪些优势?

    风电云解决方案是专为风电行业打造的数字化管理平台,通过整合物联网、大数据与AI技术,实现风机全生命周期运维管控,是提升发电量与降低故障率的有效工具,风电云解决方案是什么?核心功能与价值风电云平台将分散的风电场数据统一上云,打破信息孤岛,它远程监控每台风机的运行状态、功率曲线和关键部件健康度,让运维团队不再依赖人……

    2026年8月2日
    1000
  • HTML5存储机制是什么?html5存储机制有哪些

    HTML5存储机制的核心在于结合Cookie、LocalStorage、SessionStorage和Web Storage,其中LocalStorage提供持久化大容量存储,SessionStorage用于会话级临时数据,二者共同替代了传统Cookie在复杂场景下的局限性,为现代Web应用提供了高效、安全的数……

    2026年6月6日
    4200
  • 免费文档服务器有哪些好用的,哪个最好用?

    开源自托管方案、免费在线协作服务、以及轻量替代方案, 具体怎么选,得看你的团队规模、数据敏感度和预算,下面按不同需求拆开讲,免费文档服务器有哪些:三大类型先分清网上一搜“免费文档服务器”,出来的结果五花八门,其实概念并不复杂,核心就三类,开源自托管文档服务器这一类是把文档系统部署在你自己的服务器上,数据完全自己……

    2026年10月14日
    100
  • Ubuntu常用命令有哪些?Ubuntu系统入门必学命令大全

    Ubuntu系统的高效运维依赖于对核心命令的熟练掌握,本文精选50个高频命令,涵盖文件管理、权限控制、网络调试及系统监控四大场景,助你快速解决Linux日常操作难题,在Linux的世界里,命令行不仅是工具,更是与系统对话的语言,对于许多从Windows或macOS转来的用户来说,面对黑底白字的终端界面往往感到无……

    2026年6月23日
    2300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注