首页/云/云平台与虚拟化速查/virt-install 命令行建虚机
虚拟化操作94 条

virt-install 命令行建虚机

virt-install 用命令行参数生成域 XML 并启动:内存、vCPU、磁盘、安装 ISO、网络与显卡逐项给出即可从零装机,适合脚本化与无图形环境。

云平台与虚拟化速查云更新于 2026-10-13

virt-install 命令行建虚机

virt-install 用命令行参数生成域 XML 并直接启动虚机:内存、vCPU、磁盘、安装介质、网络、显卡、固件逐项给出即可从零装机。它适合无图形环境与脚本化建机,参数写法也是之后手工维护域 XML 的参照。装机过程中还需要一个图形或文本控制台来看安装界面。

基本信息

适用平台Linux 发行版上的 libvirt 工具集,需已就绪 libvirtd 与存储池
磁盘参数path=...,size=40,format=qcow2,bus=virtio
系统识别--osinfo detect=on 自动探测安装介质类型(旧版本用 --os-variant)
图形与控制台--graphics vnc,listen=127.0.0.1 配合 VNC 装机,或 --console 用文本安装
固件--boot uefi 需要 OVMF 固件支持

典型使用场景

  • 无图形服务器上批量建机:全部参数写在脚本里,可重复执行
  • 模板化装机的第一步:先用 virt-install 起一台标准机,再做成模板
  • 快速试验:验证内核参数或驱动时按需建临时虚机
  • 自动化流程集成:由流水线或编排脚本调用生成测试环境
  • 从 ISO 全新建机:没有现成镜像时从安装介质装起

从 ISO 安装一台虚机

从 ISO 安装一台虚机
virt-install --name web01 --memory 4096 --vcpus 2 --cpu host-passthrough \
  --disk path=/var/lib/libvirt/images/web01.qcow2,size=40,format=qcow2,bus=virtio \
  --cdrom /var/lib/libvirt/images/iso/rhel-9.iso \
  --network network=default,model=virtio \
  --graphics vnc,listen=127.0.0.1 --osinfo detect=on --noautoconsole
# 之后用 virt-viewer 或 VNC 客户端连上完成操作系统安装

常用参数读法

参数作用注意
--memory / --vcpus内存与 CPU 数量启动内存与最大内存配置要分清
--disk磁盘路径、容量与总线目录不存在或权限不足会直接失败
--cdrom / --location安装介质来源本地 ISO 与网络安装二选一
--network虚拟网络与网卡型号用 virtio 获得更好性能
--noautoconsole 让命令建完就返回终端,适合脚本;不带该参数时终端会被安装控制台占用,需要另开窗口操作。
建机参数最终会落成域 XML,可以用 virt-install --print-xml 先看生成结果,确认无误再真正创建。
命令一旦定型就把它存成脚本或模板:下次建同类虚机直接复用,避免凭记忆重敲参数,造成几十台虚机之间出现说不上来的差异。
磁盘镜像路径要放在 libvirt 可访问的目录或已定义的存储池里,否则定义阶段看着成功,启动时报权限不足或找不到文件。
系统装完先补上客户机代理与基础软件,再考虑做成模板:模板一旦分发出去,回头补装只能逐台处理。

易错点

  • 老版本 virt-install 不支持 --osinfo:确认版本或改用 --os-variant
  • 省略 --noautoconsole 后长装过程中终端被控制台占用,脚本流程被阻塞
  • 磁盘路径所在目录不属于 libvirt 可访问的存储池,虚机启动即失败
  • 装机过程中网络参数写错,装完连不上网还得改 XML 重启

数据来源与参考

  • virt-install 手册(libvirt.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌