
Tengo WSL 1 instalado en mi máquina con Windows 10 en la que está instalado Ubuntu 20.04. Mi CPU admite virtualización de hardware. Seguí instruccionesaquíintentar instalar KVM, pero cuando ejecuto "virsh list --all", aparece
error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
La salida de kvm-ok
es
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
Entonces, ¿es porque WSL 1 no puede instalar KVM? ¿Kvm está bien solo en WSL 2?
Respuesta1
No. KVM es una característica del kernel de Linux y WSL1 no tiene un kernel de Linux; élimitaun kernel de Linux, algo así como Wine imitando el entorno de Windows. En realidad, no puedes cargar .ko
módulos de Linux en él.
Estepuedeposible en WSL2 – en teoría – ya que WSL2 ejecuta un kernel de Linux real y lo hace a través de Hyper-V, que admite "virtualización anidada" si la CPU también es compatible, lo que significa que la VM WSL2 podría ejecutar más VM en su interior. Sin embargo, no sé si el kernel de Linux estándar proporcionado por Microsoft (palabras que nunca pensaste que escucharías) está compilado con soporte KVM , pero al menos tienen instrucciones para compilar un kernel personalizado.
Que podríatambiénserá posible convencer de alguna manera a su libvirtd para que ejecute Qemuen Windows,Como Qemu en realidad admite la ejecución de máquinas virtuales a través de la plataforma hipervisor de Windows (que es el equivalente de KVM en Windows), puede ejecutar WSL2 y en qemu.exe -accel whpx
paralelo sin que entren en conflicto.
(Por supuesto, Qemu en Windows también puede usar el hipervisor Intel HAXM con -accel hax
.)
(Quizás WSL1 podría implementar la API /dev/kvm en términos de la plataforma hipervisor de Windows, pero no lo hace, y no creo que vaya a recibir ninguna característica nueva dado que se centra en WSL2).