本文记录了如何在 Arch Linux(KDE 桌面环境)下搭建一个高性能的虚拟机平台,使用 KVM + QEMU + virt-manager 实现类似 VMware / VirtualBox 的图形化管理体验。适合日常运行和测试 Linux、Windows 虚拟系统。


🧩 为什么选择 KVM + QEMU + virt-manager?

  • 性能更高:KVM 是 Linux 内核级虚拟化,性能接近裸机;
  • 原生支持:无需额外驱动或内核模块,系统集成度高;
  • 图形化管理:通过 virt-manager,像操作 VirtualBox 一样简单;
  • 开源自由:全部组件开源,支持快照、桥接网络、virtio 加速等高级功能;
  • 比 VirtualBox 更稳定可靠,是现代 Linux 下的最佳虚拟化方案之一。

🛠️ 安装准备

📦 安装所需软件包(以 Arch Linux 为例):

bashCopyEditsudo pacman -S qemu-full virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat libvirt edk2-ovmf

edk2-ovmf 是 UEFI 启动所需固件,安装 Windows 10/11 时必备。


🔧 启用并启动 libvirt 服务:

bashCopyEditsudo systemctl enable --now libvirtd.service

👤 添加当前用户到 libvirt 用户组:

bashCopyEditsudo usermod -aG libvirt $(whoami)

修改后需注销并重新登录,让组权限生效。


✅ 图形界面启动 virt-manager

bashCopyEditvirt-manager

你将看到一个图形化界面,可像使用 VMware 或 VirtualBox 那样操作:

  • 左侧是虚拟机列表
  • 上方菜单可创建 / 启动 / 删除 / 克隆虚拟机
  • 中央控制台可实时查看虚拟机界面

🖥️ 创建虚拟机示例(以 Ubuntu 为例)

  1. 点击「创建新虚拟机」
  2. 选择 ISO 镜像(如 Ubuntu Desktop)
  3. 设定系统类型(Ubuntu)和版本
  4. 分配内存(如 2048 MB)和 CPU 核心(2 核)
  5. 创建虚拟磁盘(如 40GB QCOW2)
  6. 网络模式默认 NAT 即可(也可设桥接)
  7. 如果需要使用 UEFI 启动,启用 Customize before install → Firmware 选择 OVMF

点击启动,即可安装系统。


📌 附加功能推荐

🧠 virtio 驱动支持

安装 Windows 时建议使用 virtio 磁盘和网络驱动,可从红帽下载驱动 ISO:

https://fedorapeople.org/groups/virt/virtio-win


📡 桥接网络设置(可选)

默认是 NAT 模式,若你希望虚拟机拥有真实局域网 IP,可设置桥接:

  1. /etc/netctl/ 或 NetworkManager 中创建桥接接口
  2. 在虚拟机网络设备中选择 桥接 模式并指定接口(如 br0

💾 快照和克隆

virt-manager 支持快照功能,可用于:

  • 安装前备份
  • 系统测试回滚
  • 快速复制环境

🧱 文件位置说明

  • 虚拟磁盘默认保存在:~/.local/share/libvirt/images/
  • 配置文件位于:/etc/libvirt/~/.config/libvirt/

🎯 使用场景

  • 测试不同 Linux 发行版(Ubuntu、Debian、Arch、CentOS)
  • 安装 Windows 系统做兼容性测试
  • 使用 PE 工具进行系统备份 / 还原
  • 模拟局域网环境进行网络部署测试

✅ 总结

KVM + QEMU + virt-manager 提供了一套完整、高性能的虚拟化平台,完全可以替代 VirtualBox 和 VMware,特别适合 Linux 用户日常测试、开发和多系统集成使用。

你将收获:

  • 接近裸机的性能
  • 优雅稳定的图形化管理
  • 完全的系统控制权

只需一次搭建,就能长期稳定使用。


如果你正在寻找一个比 VirtualBox 更强大、比 PVE 更轻量的桌面虚拟化方案,KVM + virt-manager 将是你的不二选择。

Leave a Reply

Your email address will not be published. Required fields are marked *