首先,你需要在Windows上安装好WSL(Windows Subsystem for Linux),然后启动一个子系统。本文以Ubuntu 22.04为例。

接下来的所有操作都将在这个Ubuntu子系统中进行。
检查虚拟化支持
在开始安装之前,首先需要确认你的硬件是否支持虚拟化。
运行以下命令检查CPU的虚拟化功能:
sean@DESKTOP-PPNPJJ3:~$ LC_ALL=C lscpu | grep Virtualization
Virtualization: VT-x
Virtualization type: full
如果你是Intel处理器,输出会类似上方,显示为VT-x;如果你使用的是AMD处理器,则应显示为AMD-V。了解这些网络/系统层面的硬件特性是虚拟化部署的基础。

接下来,确保你的系统拥有多个处理器核心,以便为虚拟机分配资源后,宿主系统仍有足够的处理能力。运行下方命令,其输出应大于0。
sean@DESKTOP-PPNPJJ3:~$ egrep -c ‘(vmx|svm)’ /proc/cpuinfo

最后,验证宿主机系统是否支持KVM加速。安装cpu-checker工具包并进行检测:
sean@DESKTOP-PPNPJJ3:~$ sudo apt install cpu-checker -y
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following additional packages will be installed:
msr-tools
The following NEW packages will be installed:
cpu-checker msr-tools
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.1 kB of archives.
After this operation, 67.6 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 msr-tools amd64 1.3-4 [10.3 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 cpu-checker amd64 0.7-1.3build1 [690 B]
Fetched 17.1 kB in 1s (24.3 kB/s)
Selecting previously unselected package msr-tools.
(Reading database … 24208 files and directories currently installed.)
Preparing to unpack …/msr-tools_1.3-4_amd64.deb …
Unpacking msr-tools (1.3-4) …
Selecting previously unselected package cpu-checker.
Preparing to unpack …/cpu-checker_0.7-1.3build1_amd64.deb …
Unpacking cpu-checker (0.7-1.3build1) …
Setting up msr-tools (1.3-4) …
Setting up cpu-checker (0.7-1.3build1) …
Processing triggers for man-db (2.10.2-1) …
sean@DESKTOP-PPNPJJ3:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

如果命令输出中包含“KVM acceleration can be used”,则说明系统支持KVM,可以进入下一步安装。
安装虚拟化工具包
运行以下命令,安装QEMU/KVM及其管理工具:
$ sudo apt install qemu-system qemu-utils virt-manager libvirt-clients libvirt-daemon-system -y
这个命令会安装以下核心组件,帮助你构建一个完整的云原生/IaaS本地实验环境:
- qemu-system: 提供QEMU的全系统模拟功能,包含对不同CPU架构(如x86, ARM)的虚拟化支持。
- qemu-utils: 提供QEMU相关的工具命令,例如用于管理虚拟磁盘的
qemu-img。
- virt-manager: 提供基于图形界面的虚拟机管理工具,用于与
libvirtd服务交互。
- libvirt-clients: 提供命令行客户端工具(如
virsh),用于管理虚拟机,在排查图形界面管理失败的问题时非常有用。
- libvirt-daemon-system: 提供
libvirtd后台服务及其配置文件。
如果在执行安装命令时遇到错误(例如提示找不到virt-manager软件包),可以尝试先更新系统软件源和已安装的包:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
更新完成后,再次尝试安装上述虚拟化工具包。
配置并验证服务
安装完成后,需要确保libvirtd服务正常运行。执行以下命令检查服务状态:
sudo systemctl status libvirtd
如果服务未运行,你需要手动启动并设置开机自启,这是标准的运维/DevOps服务管理操作:
$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd
$ systemctl status libvirtd
确认libvirtd服务处于活跃(active)状态后,将当前用户添加到必要的用户组,以获得管理虚拟机的权限:
sean@DESKTOP-PPNPJJ3:~$ sudo usermod -aG kvm $USER
sean@DESKTOP-PPNPJJ3:~$ sudo usermod -aG libvirt $USER
sean@DESKTOP-PPNPJJ3:~$ sudo usermod -aG libvirt-qemu $USER
注意:完成用户组添加后,需要重启Windows宿主系统,然后重新登录,以使组权限生效。
启动图形化管理界面
一个方便之处在于,WSL子系统可以直接启动图形界面应用。安装完成后,你可以在Ubuntu终端中输入以下命令来启动Virtual Machine Manager:
sean@DESKTOP-PPNPJJ3:~$ virt-manager

Virtual Machine Manager的窗口将会直接在Windows桌面上打开。至此,QEMU/KVM虚拟化环境已在Windows WSL中安装配置完成。你可以通过这个管理器创建、启动并管理你的虚拟机了。
希望这篇在Windows WSL中搭建QEMU/KVM环境的指南能帮助你顺利开始虚拟化之旅。如果你想探索更多相关的技术讨论和资源,欢迎访问云栈社区与其他开发者交流。