KVM怎么开启虚拟机,创建虚拟机有哪些步骤

要在KVM宿主机上开启虚拟机,最直接的命令就是virsh start 虚拟机名称,图形界面里双击对应虚拟机点击运行即可;如果虚拟机尚未创建,得先用virt-install或virt-manager完成定义。

KVM虚拟机怎么开启:先分清“启动”和“启用”

很多人把“开启KVM虚拟机”理解成两种动作:一种是宿主机已经有一台定义好的虚拟机,只是处于关机状态,把它拉起来;另一种是宿主机刚装好KVM环境,要从零创建一台能跑的虚拟机,这两种场景操作路径不同,但底层都依赖KVM内核模块和libvirt管理工具。

11.3 KVM虚拟机创建与配置
加载中
11.3 KVM虚拟机创建与配置
  • 启动已存在的虚拟机:virsh start 域名 或图形界面点击“运行”。
  • 创建并启动新虚拟机:virt-install 带磁盘、内存、ISO参数,安装系统后自动拉起。
  • 启用KVM能力:确认 /dev/kvm 存在,CPU支持VMX或SVM,内核模块 kvm_intel 或 kvm_amd 已加载。

理解这个区分后,实际操作会清晰很多,下面按最常见的使用场景拆开讲。

Linux KVM开启虚拟机命令

在Linux服务器上,libvirt提供的virsh是管理虚拟机的标准命令行工具,大多数生产环境没有安装桌面环境,因此掌握命令方式比图形界面更实用。

无图形界面怎么开启kvm虚拟机

纯SSH登录宿主机后,用以下命令即可完成查看、启动、进入控制台等操作。

  • 查看所有虚拟机及其状态:virsh list --all
  • 查看正在运行的虚拟机:virsh list
  • 启动指定虚拟机:virsh start 虚拟机名称
  • 强制关机:virsh destroy 虚拟机名称
  • 正常关机:virsh shutdown 虚拟机名称
  • 查看某台虚拟机详细信息:virsh dominfo 虚拟机名称

假设虚拟机在配置文件中叫 web-server-01,启动命令就是:

virsh start web-server-01

如果虚拟机已经处于运行状态,再次执行会报错,可以先用 virsh list 确认,多数情况下,刚定义好的虚拟机会出现在 virsh list --all 的输出里,状态为 shut off,这时执行 virsh start 就会拉起来。

批量开启多台虚拟机

宿主机上虚拟机数量多时,可以用循环批量启动所有处于关机状态的虚拟机。

for vm in $(virsh list --all --name); do
  state=$(virsh domstate "$vm")
  if [ "$state" = "shut off" ]; then
    virsh start "$vm"
  fi
done

KVM怎么开启虚拟机,创建虚拟机有哪些步骤

这段脚本先列出所有虚拟机名称,再逐台判断状态,只启动 shut off 的虚拟机,适合宿主机重启后批量恢复业务的场景。

KVM和VMware哪个适合个人开发者

这是搜索量很高的对比问题,尤其出现在个人开发者想搭建本地测试环境时,从开启虚拟机的方式看,两者差异明显。

对比项 KVM VMware Workstation/ESXi
授权费用 免费开源,无额外授权费 Workstation 需购买授权,ESXi 部分免费但高级功能收费
命令行管理 virsh / virt-install,适合脚本化 PowerCLI 或 vSphere API,学习成本较高
图形界面 virt-manager,轻量够用 Workstation 图形功能更完善,拖拽、快照更友好
宿主机要求 Linux内核,依赖CPU虚拟化 Windows/Linux均可,闭源驱动
适合人群 熟悉Linux、需要批量自动化、预算有限的开发者 习惯Windows、需要商用支持、图形操作频繁的团队

个人开发者如果主要在Linux笔记本或一台旧服务器上做测试,KVM的免费优势和命令行管理会更顺手,如果主力机是Windows且不想碰Linux命令,VMware Workstation 的图形体验更好,行业共识认为,KVM在云服务商和Linux运维岗位中的普及度更高,因为它的底层集成和自动化能力强于多数闭源方案。

KVM虚拟机开机自动启动配置

宿主机重启后,默认情况下虚拟机不会自动启动,如果业务要求虚拟机随宿主机拉起,需要单独配置 autostart。

让虚拟机随宿主机启动

virsh autostart 虚拟机名称

执行后,libvirt 会在 /etc/libvirt/qemu/autostart/ 目录下创建对应虚拟机配置文件的符号链接,宿主机开机时,libvirtd 服务会自动拉起这些标记为 autostart 的虚拟机。

  • 查看某台虚拟机是否已设置自动启动:virsh dominfo 虚拟机名称 | grep Autostart
  • 取消自动启动:virsh autostart --disable 虚拟机名称
  • 查看所有自动启动的虚拟机:ls -l /etc/libvirt/qemu/autostart/

批量设置自动启动

如果宿主机上有几十台业务虚拟机,手工逐台设置效率太低,可以用脚本处理。

for vm in $(virsh list --all --name); do
  virsh autostart "$vm"
done

执行后,所有已定义的虚拟机都会具备开机自启能力,需要注意,这个操作只影响 libvirt 管理的虚拟机,对直接由 QEMU 进程启动的虚拟机无效。

KVM怎么开启虚拟机,创建虚拟机有哪些步骤

从零开启一台KVM虚拟机的完整步骤

如果宿主机刚装好KVM环境,需要先创建虚拟机,下面按操作顺序给出可验证的命令。

检查KVM模块与libvirtd服务

先确认CPU支持虚拟化,内核模块加载正常。

egrep -c '(vmx|svm)' /proc/cpuinfo
lsmod | grep kvm
ls -l /dev/kvm
systemctl status libvirtd
  • 第一条命令输出非0,说明CPU支持虚拟化。
  • 第二条命令会显示 kvm_intel 或 kvm_amd 模块。
  • 第三条命令确认 /dev/kvm 设备存在。
  • 第四条命令确认 libvirtd 服务运行中。

/dev/kvm 不存在,需要检查BIOS是否开启VT-x或AMD-V,libvirtd 没有运行,执行:

systemctl enable --now libvirtd

创建并首次启动Linux虚拟机

用 virt-install 创建一台带图形安装的Linux虚拟机,以下命令会定义虚拟机并自动启动安装过程。

virt-install 
  --name test-ubuntu 
  --ram 2048 
  --vcpus 2 
  --disk path=/var/lib/libvirt/images/test-ubuntu.qcow2,size=20,format=qcow2 
  --os-variant ubuntu22.04 
  --network bridge=virbr0 
  --cdrom /home/user/ubuntu-22.04.4-live-server-amd64.iso 
  --graphics vnc,listen=0.0.0.0 
  --noautoconsole

参数含义:

  • --name 是虚拟机唯一标识,后续 virsh start test-ubuntu 用它。
  • --disk 指定磁盘文件路径、大小和格式,常用 qcow2。
  • --os-variant 帮助 libvirt 优化硬件配置,可用 osinfo-query os 查看支持列表。
  • --network bridge=virbr0 使用默认NAT网络。
  • --graphics vnc 让安装界面通过VNC暴露,便于远程连接。

命令执行后,虚拟机进入安装流程,安装完成后,如果系统重启后进入 shut off 状态,用 virsh start test-ubuntu 即可再次开启。

启动失败常见排查

  • 权限不足:当前用户不在 libvirt 组,无法连接 qemu:///system,执行 sudo usermod -aG libvirt $(whoami) 后重新登录。
  • 磁盘路径不存在:--disk 指定的目录或文件路径错误,libvirt 无法创建磁盘。
  • 网络桥接不存在:virbr0 未启用,执行 virsh net-start default 和 virsh net-autostart default。
  • ISO镜像路径错误

    KVM怎么开启虚拟机,创建虚拟机有哪些步骤

    :宿主机上找不到安装介质,控制台会提示找不到启动设备。

  • SELinux/AppArmor 拦截:镜像文件放在非标准目录时,SELinux 可能阻止访问,需调整文件上下文或改用 /var/lib/libvirt/images/。

场景化选择:命令行、图形界面还是自动启动

不同使用场景对“开启虚拟机”的需求不同,操作方式也可以灵活切换。

  • 放置在北京机房的物理服务器:没有本地显示器,只能通过SSH远程操作,安装 libvirt-clients 后,在本地用 virt-manager 远程连接宿主机,或直接用 virsh 命令管理,北京地域的网络延迟通常在可接受范围内,VNC 和 SPICE 桌面能正常使用。
  • 个人开发者本地测试:推荐 virt-manager 图形界面,双击虚拟机名称就能启动,点击“打开”查看系统安装界面,熟悉命令后,再过渡到 virsh 提高效率。
  • 生产环境宿主机恢复:优先使用 autostart 配置让虚拟机随宿主机自启,减少人工介入,同时编写批量启动脚本,便于非自动启动虚拟机快速拉起。

在KVM环境里开启虚拟机,核心动作就是 virsh start 或图形界面点击运行;从零创建则要先完成 virt-install 定义,把“启动”“创建”“自动启动”三条路径分开理解,就能覆盖绝大多数实际操作场景。

Q&A

kvm虚拟机怎么开启失败常见原因有哪些

最常见的原因是当前用户没有 libvirt 权限,无法访问 qemu:///system,其次是虚拟机配置文件损坏、磁盘镜像不存在或网络桥接未启动,可以先执行 virsh list --all 确认虚拟机是否被 libvirt 识别,再用 sudo journalctl -u libvirtd -n 50 查看服务日志。

没有图形界面怎么开启kvm虚拟机并连接控制台

在纯命令行环境下,用 virsh start 虚拟机名称 启动后,执行 virsh console 虚拟机名称 可以进入串口控制台,需要虚拟机内部开启串口登录,否则控制台可能无输出,对于未完成安装的新虚拟机,可用 virt-viewer 在本地远程连接宿主机的 VNC 端口,或使用 virsh vncdisplay 虚拟机名称 查看VNC端口号。

kvm虚拟机开机自动启动如何取消

取消自动启动的命令是 virsh autostart --disable 虚拟机名称,执行后,/etc/libvirt/qemu/autostart/ 目录中的对应符号链接会被删除,取消后宿主机重启时,该虚拟机不会自动拉起,但仍可通过 virsh start 手动启动。

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

赞 (0)
2015年情人节国外虚拟主机促销有哪些,哪个便宜?
上一篇 2026年9月15日 03:28
电脑端中国2b2t服务器该如何进?,进不去怎么办
下一篇 2026年9月15日 03:31

相关推荐

  • 高级的数据分析怎么做?数据分析方法与工具

    在数据暴增的2026年,高级的数据分析已从单一的“事后复盘”跃迁为“事前预测与自动决策”的核心引擎,是企业降本增效、构建竞争壁垒的唯一确定性路径,2026高级数据分析的范式跃迁从描述性到预测性与规范性传统BI仅解决“发生了什么”,而高级分析聚焦“将发生什么”与“应如何应对”,根据中国信通院2026年《数据要素商……

    2026年4月26日
    4400
  • 个人电脑怎么建立虚拟主机?如何在本地搭建Web服务器

    个人电脑建立虚拟主机完全可行,通过安装Apache、Nginx或IIS等服务软件,配合域名解析,即可将本地PC转化为可被局域网甚至公网访问的Web服务器,适合开发测试、内网共享及轻量级站点部署,在2026年的数字化办公场景下,很多开发者、运维人员甚至普通用户,都希望能拥有一个完全可控的私有Web环境,相比于购买……

    2026年5月26日
    7900
  • 如何搭建高并发直播服务器?视频直播服务器配置方案

    服务器直播服务是通过专业构建的服务器集群与网络架构,实现音视频内容从采集端到观看端实时、稳定、高质量传输的核心技术解决方案,它支撑着在线教育、电商直播、赛事转播、企业会议、泛娱乐互动等广泛场景的流畅体验, 服务器直播服务的核心架构解析采集与编码层:推流端: 主播设备(摄像头、麦克风、屏幕)采集原始音视频数据,编……

    2026年2月9日
    12250
  • 服务器搭建nodejs,服务器怎么搭建nodejs环境

    在服务器环境部署Node.js应用,核心在于构建一个稳定、高效且安全的运行环境,这不仅仅是简单的软件安装,更涉及进程管理、反向代理配置以及系统资源调优,一个生产级别的Node.js环境,必须具备进程守护、自动重启、负载均衡以及高并发处理能力,直接使用node命令运行脚本仅适用于开发调试,无法应对线上环境的复杂挑……

    2026年3月11日
    13200
  • 服务器怎么多开vps?VPS多开教程与配置方法详解

    服务器实现VPS多开的核心在于虚拟化技术的合理选型、硬件资源的精准计算以及网络环境的隔离配置,要在单台物理服务器上高效、稳定地运行多个VPS实例,必须构建一套完整的虚拟化资源池,通过Hypervisor层对CPU、内存、磁盘I/O进行硬性隔离与弹性调度,这是实现多开且互不干扰的根本前提, 核心虚拟化技术选型与架……

    2026年3月19日
    13300
  • 免费服务器监控软件哪个好?服务器硬件性能监控软件

    服务器硬件性能监控软件是IT运维的核心工具,它通过实时、持续地采集、分析服务器关键硬件组件(如CPU、内存、磁盘、网络接口、电源、风扇、温度传感器等)的性能指标和状态数据,为管理员提供系统健康度的全景视图,是实现主动运维、保障业务连续性、优化资源利用和进行容量规划的基础设施,核心监控指标:洞悉硬件健康的脉搏真正……

    2026年2月6日
    13030
  • csgo128tick的服务器有哪些,哪个好?

    CSGO的128tick服务器主要包括完美世界竞技平台、5EPlay、B5对战平台、Faceit、ESEA等第三方对战平台,以及部分社区自建服和以简米科技、酷番云为底层架构的私人服务器,128tick服务器为何是硬需求大多数玩家接触的官方匹配(Valve官方服务器)运行在64tick下,这意味着服务器每秒向客户……

    2026年8月3日
    700
  • 服务器怎么加域名解析?详细步骤教程是什么?

    服务器添加域名解析的核心在于在域名服务商处修改DNS解析记录,将其指向服务器的IP地址,这一过程并非在服务器内部操作,而是通过域名管理面板实现域名与服务器IP的绑定,只有正确配置了A记录或CNAME记录,互联网用户才能通过域名访问到指定的服务器资源,整个操作流程逻辑严密,涉及域名注册商、DNS服务器与Web服务……

    2026年3月21日
    10600
  • 个人如何搭建云服务器?云服务器租用费用及配置推荐

    个人搭建云服务器并非只有购买大厂成品这一条路,通过VPS或轻量应用服务器自建,不仅能大幅降低长期成本,还能获得完全的数据掌控权,是极客与独立开发者的首选方案,很多人提到云服务器,第一反应是阿里云或腾讯云的昂贵套餐,或者觉得只有企业才需要,对于个人用户而言,搭建云服务器的核心诉求通常是:低成本、高自由度、数据私有……

    2026年5月31日
    4000
  • 复杂参数传递如何实现,有哪些最佳实践方法?

    复杂参数传递在多层架构中容易导致代码耦合和性能下降,核心优化策略是采用值传递与引用传递的混合方案,并借助DTO或不可变对象降低传递复杂度,复杂参数传递的常见场景与痛点参数传递是编程中最基础也最容易出问题的环节,当数据需要跨越多个函数层级、类方法或远程调用时,参数类型和数量会急剧膨胀,形成一个沉重的“包袱”,业内……

    2026年8月7日
    900

发表回复

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