WSL 1 に KVM をインストールすることは可能ですか?

WSL 1 に KVM をインストールすることは可能ですか?

Ubuntu 20.04がインストールされているWindows 10マシンにWSL 1をインストールしました。CPUはハードウェア仮想化をサポートしています。指示に従いましたここKVMをインストールしようとしましたが、「virsh list --all」を実行すると、

error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory

の出力kvm-ok

INFO: /dev/kvm does not exist
HINT:   sudo modprobe kvm_intel
modprobe: FATAL: Module msr not found in directory /lib/modules/4.4.0-17134-Microsoft

ということは、WSL 1 では KVM をインストールできないということでしょうか? kvm は WSL 2 でのみ問題ありませんか?

答え1

いいえ。KVMはLinuxカーネルの機能であり、WSL1にはLinuxカーネルがありません。模倣するLinux カーネル。Windows 環境を模倣した Wine のようなものです。実際には Linux.koモジュールを読み込むことはできません。

これ5月WSL2では理論上は可能だ。WSL2は実際のLinuxカーネルを実行し、Hyper-Vを介して実行するため、「ネストされた仮想化「CPU にも互換性があれば、WSL2 VM 自体が内部でさらに多くの VM を実行できることになります。ただし、Microsoft が提供する標準の Linux カーネル(聞いたことのない言葉です)が KVM サポートでコンパイルされているかどうかはわかりませんが、少なくともカスタム カーネルをコンパイルするための手順は用意されています。

かもしれないまた何らかの方法でlibvirtdにQemuを実行させることが可能Windowsの場合、Qemu は実際には Windows Hypervisor Platform (KVM の Windows 版) を介した VM の実行をサポートしているため、WSL2 とqemu.exe -accel whpx並列で実行しても競合は発生しません。

(もちろん、Windows 上の Qemu でも Intel HAXM ハイパーバイザーを使用できます-accel hax。)


(おそらく WSL1 は Windows Hypervisor Platform の観点から /dev/kvm API を実装できるでしょうが、それは行われず、WSL2 の重点を考えると、新しい機能は提供されないと思います。)

関連情報