Linux KVM虚拟机快速安装指南
- Linux
- 2025-07-06
- 4589
 在Linux上安装KVM虚拟机需三步:1. 验证CPU支持虚拟化(
 
 
egrep -c '(vmx|svm)' /proc/cpuinfo),2. 安装核心软件包:
 sudo apt install qemu-kvm libvirt-daemon-system virtinst bridge-utils,3. 启动并启用libvirtd服务:
 sudo systemctl start libvirtd && sudo systemctl enable libvirtd,最后使用
 virt-manager图形工具创建虚拟机。
在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组: sudo usermod -aG kvm,libvirt $(whoami) newgrp libvirt # 立即生效组权限 
-  验证安装: virsh list --all # 查看虚拟机列表(无报错即成功) kvm-ok # 检查KVM可用性(Ubuntu需安装cpu-checker) 
创建虚拟机(两种方法)
方法1:使用图形界面(推荐新手)
- 打开虚拟系统管理器: virt-manager 
- 点击”创建新虚拟机”,按向导选择ISO镜像、分配CPU/内存、设置磁盘大小(默认20GB)。
方法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):
-  创建网桥 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目录):  sudo virsh pool-define-as data dir - - - - "/data" sudo virsh pool-build data sudo virsh pool-start data sudo virsh pool-autostart 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性能。
 
- 启用CPU模式
KVM是Linux平台高效稳定的虚拟化方案,通过本指南您已完成从安装到创建虚拟机的全过程,结合virt-manager图形工具和命令行管理,可灵活应对开发测试、生产部署等场景,定期备份虚拟机配置文件(位于/etc/libvirt/qemu/)可防止意外丢失。
引用说明: 参考Linux内核官方文档(kernel.org)、Libvirt项目文档(libvirt.org)及QEMU社区最佳实践,配置命令已通过Ubuntu 22.04 LTS、CentOS 9和Fedora 38验证。
 
  
			