
我在安裝了 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
不會。它模仿Linux 內核,有點像是模仿 Windows 環境的 Wine。您實際上無法將 Linux.ko
模組載入到其中。
這可能理論上,這在 WSL2 中是可能的,因為 WSL2 運行真正的 Linux 內核,並透過 Hyper-V 實現這一點,Hyper-V 支援“嵌套虛擬化「如果 CPU 也相容,這意味著 WSL2 VM 本身可以在內部運行更多 VM。但是,我不知道 Microsoft 提供的標準 Linux 核心(你從未想過你會聽到的單字)是否編譯有 KVM 支持,但至少他們有編譯自訂內核的說明。
它可能也可以以某種方式說服你的 libvirtd 運行 Qemu在 Windows 上,由於 Qemu 實際上支援透過 Windows Hypervisor Platform(相當於 Windows 的 KVM)運行 VM,因此您可以並行運行 WSL2 和qemu.exe -accel whpx
並行運行,而不會發生衝突。
(當然,Windows 上的 Qemu 也可以使用 Intel HAXM 虛擬機器管理程式-accel hax
。)
(也許 WSL1 可以在 Windows Hypervisor 平台方面實現 /dev/kvm API,但它沒有這樣做,考慮到 WSL2 的重點,我認為它不會獲得任何新功能。)