Linux KVM虚拟机快速安装指南
- Linux
- 2025-07-06
- 6
在Linux系统上安装KVM虚拟机的完整指南
KVM(Kernel-based Virtual Machine)是Linux内核内置的全虚拟化解决方案,允许在物理主机上运行多个隔离的虚拟机,它性能高效、兼容性强,且完全开源,以下是详细的安装和配置步骤:
安装前的准备工作
-
检查CPU虚拟化支持
运行命令验证CPU是否支持硬件虚拟化(输出结果需包含vmx(Intel)或svm(AMD)):
egrep -c '(vmx|svm)' /proc/cpuinfo # 返回值≥1表示支持或使用:
lscpu | grep Virtualization -
确认系统架构
KVM仅支持64位主机:
uname -m # 需输出 x86_64 -
更新系统
确保系统为最新状态:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo dnf update -y # Fedora/CentOS/RHEL
安装KVM及相关组件
根据发行版选择命令:
-
Ubuntu/Debian:
sudo apt install -y qemu-kvm libvirt-daemon-system virtinst bridge-utils virt-manager -
Fedora/CentOS/RHEL:
sudo dnf install -y qemu-kvm libvirt virt-install virt-viewer virt-manager -
Arch Linux:
sudo pacman -S qemu virt-manager virt-viewer ebtables dnsmasq
启动服务并配置权限
-
启动Libvirt服务:
sudo systemctl enable --now libvirtd
-
将用户加入kvm和libvirt组:
-
验证安装:
virsh list --all # 查看虚拟机列表(无报错即成功) kvm-ok # 检查KVM可用性(Ubuntu需安装cpu-checker)
- 打开虚拟系统管理器: virt-manager
- 点击”创建新虚拟机”,按向导选择ISO镜像、分配CPU/内存、设置磁盘大小(默认20GB)。
-
创建网桥br0:
sudo nmcli con add ifname br0 type bridge con-name br0 sudo nmcli con add type bridge-slave ifname eth0 master br0 # eth0替换为实际网卡名 sudo nmcli con up br0 -
在virt-manager中编辑虚拟机设置:

- 选择网络源: Bridge br0
- 设备模型: virtio
-
查看默认存储池:
virsh pool-list
-
添加新存储池(例如添加/data目录):
虚拟机日常管理命令
功能 命令示例 启动虚拟机 virsh start vm-name 关闭虚拟机 virsh shutdown vm-name 强制停止 virsh destroy vm-name 删除虚拟机 virsh undefine vm-name 查看配置 virsh dumpxml vm-name 控制台连接 virsh console vm-name
常见问题解决
-
错误: “权限被拒绝”
运行sudo setenforce 0临时禁用SELinux,或调整策略规则。
-
虚拟机无法上网
检查防火墙规则:
sudo firewall-cmd --add-service=dhcp --permanent # Fedora/CentOS sudo ufw allow out on virbr0 # Ubuntu -
性能优化建议
- 启用CPU模式host-passthrough:在虚拟机XML中添加: <cpu mode='host-passthrough'/>
- 使用virtio磁盘驱动提升I/O性能。
KVM是Linux平台高效稳定的虚拟化方案,通过本指南您已完成从安装到创建虚拟机的全过程,结合virt-manager图形工具和命令行管理,可灵活应对开发测试、生产部署等场景,定期备份虚拟机配置文件(位于/etc/libvirt/qemu/)可防止意外丢失。
引用说明: 参考Linux内核官方文档(kernel.org)、Libvirt项目文档(libvirt.org)及QEMU社区最佳实践,配置命令已通过Ubuntu 22.04 LTS、CentOS 9和Fedora 38验证。

-
创建虚拟机(两种方法)
方法1:使用图形界面(推荐新手)
方法2:命令行创建(高效批量部署)
sudo virt-install --name Ubuntu-Server --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/ubuntu.qcow2,size=20 --os-variant ubuntu22.04 --network bridge=virbr0 --graphics spice --console pty,target_type=serial --cdrom /path/to/ubuntu-22.04.iso
网络配置(关键步骤)
默认NAT网络:
虚拟机可通过主机上网,但外部无法直接访问虚拟机。
配置桥接网络(使虚拟机获得独立IP):
存储池管理