
У меня установлен WSL 1 на моем компьютере с Windows 10, на котором установлена Ubuntu 20.04. Мой процессор поддерживает аппаратную виртуализацию. Я следовал инструкциямздесьчтобы попытаться установить 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; онподражает.ko
ядро Linux, что-то вроде Wine, имитирующее среду Windows. В него нельзя загружать модули Linux .
Этотможетбыть возможным в WSL2 – в теории – поскольку WSL2 запускает настоящее ядро Linux и делает это через Hyper-V, который поддерживает «вложенная виртуализация" если ЦП также совместим, то есть виртуальная машина WSL2 может сама запускать больше виртуальных машин внутри. Однако я не знаю, скомпилировано ли стандартное ядро Linux, предоставляемое Microsoft (слова, которые вы никогда не думали услышать), с поддержкой KVM, но, по крайней мере, у них есть инструкции по компиляции пользовательского ядра.
Это может бытьтакжевозможно ли как-то убедить ваш libvirtd запустить Qemuна Windows,поскольку Qemu фактически поддерживает запуск виртуальных машин через платформу гипервизора Windows (которая является эквивалентом KVM в Windows), то вы можете запускать WSL2 и Windows qemu.exe -accel whpx
параллельно, не опасаясь конфликтов.
(Разумеется, Qemu на Windows также может использовать гипервизор Intel HAXM с -accel hax
.)
(Возможно, WSL1 мог бы реализовать API /dev/kvm в терминах платформы гипервизора Windows, но он этого не делает, и я не думаю, что он получит какие-либо новые функции, учитывая фокусировку в WSL2.)