如何在Linux中安装KVM Linux配置KVM虚拟化环境的方法

星萱大大_8719

星萱大大_8719

2026-06-06

764人浏览

原创

kvm就绪需硬件支持、内核模块加载和工具链安装三者同时满足;缺一即导致virt-install报错、virsh连不上或kvm-ok提示加速不可用。

如何在linux中安装kvm linux配置kvm虚拟化环境的方法

KVM 不是装一个软件就能用的,它依赖硬件支持、内核模块和工具链三者同时就位;缺任何一环,virt-install 会报错、virsh list 连不上、甚至 kvm-ok 明确提示 “KVM acceleration can't be used”。

检查 CPU 是否真支持且被内核识别

很多人看到 BIOS 里开了 Intel VT-x 或 AMD-V 就以为万事大吉,但 kvm-ok 仍失败。这不是误报,常见真实原因有:

  • Windows 宿主机上启用了 Hyper-V(比如 WSL2 或 Docker Desktop 默认开启),会独占虚拟化能力;需在管理员 PowerShell 中运行 bcdedit /set hypervisorlaunchtype off 并重启
  • BIOS 中启用了 Trusted Execution Technology(TXT)或某些 Secure Boot 子项,干扰 kvm_intel/kvm_amd 模块加载;建议关闭 TXT,Secure Boot 可保留但要确保内核签名被信任
  • cat /proc/cpuinfo | grep -E "(vmx|svm)" 无输出 —— 此时不是 BIOS 没开,而是服务器厂商(如 Dell iDRAC、HPE iLO)固件太旧,需升级管理控制器固件

加载 kvm 内核模块并确认 /dev/kvm 可用

即使 CPU 支持,若模块没加载,/dev/kvm 就不会存在,所有虚拟机操作都会直接失败:

Computer Use Linux
Computer Use Linux

顶级 Linux 计算机使用技能,配套独立自举运行时,无需本地 Claude 安装、私有原生模块等。

下载
  • 先手动加载基础模块:sudo modprobe kvm
  • 再按 CPU 厂商加载扩展模块:sudo modprobe kvm_intel(Intel)或 sudo modprobe kvm_amd(AMD)
  • 验证:lsmod | grep -E '^(kvm|kvm_intel|kvm_amd)' 应有输出;ls -l /dev/kvm 应显示 crw-rw-rw- 且 group 为 kvm
  • 若每次重启后模块丢失,把 kvm、kvm_intel(或 kvm_amd)写入 /etc/modules 文件末尾

安装最小必要工具链,避开包名陷阱

不同发行版包名差异极大,装错会导致 virsh 找不到连接、qemu-system-x86_64 命令不存在:

  • Ubuntu/Debian:sudo apt install -y qemu-kvm libvirt-daemon-system virtinst virt-manager;virt-manager 非必需,但 GUI 能快速暴露网络/存储配置错误
  • CentOS/RHEL 8+:sudo dnf install -y @virtualization(注意是 @virtualization 组,不是单装 qemu-kvm)
  • 必须启用服务:sudo systemctl enable --now libvirtd
  • 非 root 用户需加组:sudo usermod -aG libvirt $USER,然后重新登录或运行 newgrp libvirt

创建虚拟机前必须处理的两个权限/路径坑

virt-install 失败 90% 出在这两处,报错常表现为 “permission denied” 或 “no storage pool found”:

  • 磁盘路径必须可写且在 libvirtd 上下文能访问;默认 /var/lib/libvirt/images/ 最安全;若用 /home/user/vms,需执行:sudo chown -R root:libvirt /home/user/vms + sudo chmod -R g+rw /home/user/vms
  • 网络后端不匹配:默认 NAT 网络叫 default,可用 virsh net-list --all 确认;若想用桥接,必须先定义桥接接口(如 br0),再在 virt-install 中显式指定 --network bridge=br0,不能只写 --network network=default

最容易被忽略的是:KVM 的“就绪”状态不是靠某个命令返回 success 就算数,而是三个独立条件必须同时满足——/dev/kvm 存在且可读写、libvirtd 服务运行中、当前用户属于 libvirt 组。少一个,virsh -c qemu:///system list 就会静默失败或报 connection refused。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3830

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2433

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5830

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5482

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3233

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2725

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2959

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习