首先需要安装wsl,然后在swl中启动一个子系统。这里我启动一个ubuntu22.04。

wsl安装qemu

接下来的操作全部为在子系统中的操作。

检查虚拟化

在开始安装之前,让我们检查一下你的机器是否支持虚拟化。

要做到这一点,请使用以下命令:

sean@DESKTOP-PPNPJJ3:~$ LC_ALL=C lscpu | grep Virtualization
Virtualization:                     VT-x
Virtualization type:                full

如果你是Inter的处理器,它应该带来以下输出:

wsl安装qemu

如果你有一个 AMD 处理器,它Virtualization的输出应该是AMD-V。

另外,确保你的系统有多个处理器核心,这样你可以分配一些给你的虚拟机,并且仍然有足够的处理能力提供给宿主机。

下面的命令,输出应该大于零,确保你的系统有多个处理器核心,这样能够确保你使用windows子系统的时候,仍然有足够的处理能力提供给你的window宿主机来处理其他的事情。

sean@DESKTOP-PPNPJJ3:~$ egrep -c '(vmx|svm)' /proc/cpuinfo
8

wsl安装qemu

然后验证一下宿主系统是否支持KVM,可运行以下命令

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 [6800 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

wsl安装qemu

若上述命令输出类似KVM acceleration can be used 的内容则说明系统支持KVM,否则无法基于KVM进行加速。

安装工具包

可运行以下命令安装所需虚拟机相关工具包:

$ sudo apt install qemu-system qemu-utils virt-manager libvirt-clients libvirt-daemon-system -y

其中:

  • qemu-system: 提供QEMU的全系统虚拟化功能,包括对CPU以及其它设备的虚拟化功能。并且包含了对所支持CPU架构的所有模拟功能包,如qemu-system-x86,qemu-system-arm及qemu-system-mips等。
  • qemu-utils: 提供QEMU相关的一些工具命令,如磁盘管理工具qemu-img等。
  • virt-manager: 提供了可视化管理界面与libvirtd后台服务交互来管理虚拟机。
  • libvirt-clients: 提供了命令行工具与libvirtd后台服务交互来管理虚拟机,建议安装,比如若使用virt-manager管理虚拟机运行失败可利用该命令行工具来帮助找出错误。
  • libvirt-daemon-system: 提供了libvirtd后台服务及相关配置文件等。

如果执行上面的命令出现报错,比如提示没有virt-manager,可以先执行以下三个命令:

bash sudo apt update sudo apt upgrade sudo apt dist-upgrade

更新一下仓库源以及系统中已安装的应用及服务之后再进行安装。

安装完成后,验证libvirtd服务是否正常运行

sudo systemctl status libvirtd

若未正常运行,需要手动开启,运行命令:

$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd
$ systemctl status libvirtd

确认libvirtd 服务已正常运行后,将当前用户加入到相关用户组

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

这里需要重启宿主系统后重新登录。

可视化工具Virtual Machine Manager,在wsl子系统中,可以在命令行中输入命令直接启动,不用当心因为是命令行,无法启动图形界面的问题。

sean@DESKTOP-PPNPJJ3:~$ virt-manager

wsl安装qemu

Virtual Machine Manager的管理界面窗体直接在window的桌面下打开,至此,qemu就按照完成了,可以创建并测试qemu。