在 Archlinux 使用主流虚拟机软件(KVM ,Vitual Box,VMware)
硬件检查
先确认 CPU 是否支持虚拟化:
grep -E 'vmx|svm' /proc/cpuinfo
输出中包含 VT-x(Intel)或 AMD-V(AMD)即表示硬件支持。若无输出,通常是因为 BIOS/UEFI 中禁用了虚拟化,需重启进入固件设置开启。
KVM/QEMU
1. 安装软件包
sudo pacman -S qemu-full virt-manager virt-viewer libvirt dnsmasq edk2-ovmf swtpm iptables-nft
各包作用简述:
qemu-full:硬件模拟器virt-manager:图形化管理前端libvirt:虚拟化管理后台服务edk2-ovmf:UEFI 固件支持(Windows 11 需要)swtpm:软件 TPM(Windows 11 需要)
2. 启动 libvirtd 服务
sudo systemctl enable --now libvirtd
3. 将当前用户加入 libvirt 组
避免每次操作都需要 sudo:
sudo usermod -aG libvirt $USER
执行后需注销重新登录(或重启)使组权限生效。
4. 启动默认虚拟网络
使用 NAT 方式让虚拟机访问外网:
sudo virsh net-start default
sudo virsh net-autostart default
⚠️注意 如果你是用防火墙,记得打开出入栈的
# 以 ufw 防火墙为例
sudo ufw allow in on virbr0
sudo ufw allow out on virbr0
5. 使用 virt-manager 创建虚拟机
启动 virt-manager(从应用菜单或终端执行 virt-manager),按以下步骤操作:
- 点击“创建新虚拟机”。
- 选择“本地安装介质 (ISO镜像或CDROM)”,并指定系统 ISO 文件路径。
- 分配资源:
- 内存和 CPU:例如 Windows 10/11 建议 4GB 内存、2~4 个 CPU 核心。
- 存储:推荐 qcow2 格式,支持快照且性能良好。
- 点击“完成”,虚拟机将从 ISO 引导,后续安装过程与物理机相同。
6. 桥接网络(可选)
默认 NAT 模式下虚拟机可访问外网,但若需让虚拟机与宿主机处于同一局域网并拥有独立 IP,可配置桥接网络。
- 图形化方式:在 virt-manager 中打开虚拟机设置,添加网卡,网络源选“桥接设备”,并指定物理网卡(如
enp0s3)。 - 命令行方式:使用
virsh创建桥接网络,详细配置可参考 Arch Wiki。
桥接配置可能影响网络稳定性,非必需时可暂不设置。
7. 日常管理
- 图形界面:
virt-manager提供完整的虚拟机状态查看、硬件调整、快照管理等功能。 - 命令行(virsh):
- 列出所有虚拟机:
virsh list --all - 启动虚拟机:
virsh start <虚拟机名称> - 正常关机:
virsh shutdown <虚拟机名称> - 强制断电(慎用):
virsh destroy <虚拟机名称>
- 列出所有虚拟机:
常见问题
1. 安装 Windows 时找不到硬盘
Windows 默认不含 VirtIO 驱动。解决方法:创建虚拟机时额外挂载一个 CDROM,加载下载的 virtio-win.iso;在 Windows 安装界面的磁盘选择步骤中,点击“加载驱动程序”,浏览 ISO 内对应系统版本的 viostor 目录(如 Win10 选 amd64/viostor)即可。
2. 图形性能优化
若虚拟机图形界面卡顿,可开启 SPICE 或 VNC,并安装相应的客户机驱动。需要高性能图形(如游戏)可研究 GPU 直通(GPU Passthrough),但硬件要求较高且配置复杂。
VMware
安装
yay -S vmware-keymaps vmware-workstation
启动所需服务:
sudo systemctl enable --now vmware-networks.service
sudo systemctl enable --now vmware-usbarbitrator.service
完成后重启系统即可使用。
卸载
sudo systemctl disable --now vmware-networks.service
sudo systemctl disable --now vmware-usbarbitrator.service
yay -Rns vmware-workstation vmware-keymaps
VirtualBox
1. 安装核心包
sudo pacman -S virtualbox virtualbox-host-dkms
同时需要安装与当前内核匹配的头文件,以便编译内核模块。常见对应关系:
| 内核 | 头文件包 |
|---|---|
linux(默认) |
linux-headers |
linux-lts |
linux-lts-headers |
linux-zen |
linux-zen-headers |
linux-hardened |
linux-hardened-headers |
linux-rt |
linux-rt-headers |
例如使用默认内核:
sudo pacman -S linux-headers
virtualbox-host-dkms 依赖 DKMS,后续内核或 VirtualBox 更新时,模块会自动重新编译。
2. 加载内核模块
重启后模块会自动加载,也可手动加载核心模块:
sudo modprobe vboxdrv
若需桥接或仅主机网络模式,还需加载 vboxnetadp 和 vboxnetflt。
3. 将用户加入 vboxusers 组
以便在虚拟机中使用 USB 设备:
sudo usermod -aG vboxusers $USER
执行后需注销重新登录。
4. (可选)客户机增强功能 ISO
安装增强功能 ISO,便于为虚拟机安装驱动:
sudo pacman -S virtualbox-guest-iso
ISO 文件位于 /usr/lib/virtualbox/additions/VBoxGuestAdditions.iso,在虚拟机中挂载后运行安装程序即可。
5. (可选)扩展包(Extension Pack)
扩展包提供 USB 2.0/3.0、RDP 远程桌面等特性(许可证为个人免费使用)。可通过 AUR 安装 virtualbox-ext-oracle,或从官网下载 .vbox-extpack 文件,然后在 VirtualBox 图形界面的“文件” → “工具” → “扩展包管理器”中手动安装。

浙公网安备 33010602011771号