在 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),按以下步骤操作:

  1. 点击“创建新虚拟机”。
  2. 选择“本地安装介质 (ISO镜像或CDROM)”,并指定系统 ISO 文件路径。
  3. 分配资源:
    • 内存和 CPU:例如 Windows 10/11 建议 4GB 内存、2~4 个 CPU 核心。
    • 存储:推荐 qcow2 格式,支持快照且性能良好。
  4. 点击“完成”,虚拟机将从 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 图形界面的“文件” → “工具” → “扩展包管理器”中手动安装。

posted @ 2026-07-27 21:54  JosiahBristow  阅读(79)  评论(0)    收藏  举报