Windows10关闭虚拟化相关服务的问题
关闭,Hyper-V,VBS,HVCI 后;
- 无法使用 Docker Desktop,DD运行在Hyper-V上;
- Hyper-V和安卓虚拟机存在部分兼容问题;
- WSL2,Hyper-V,以及基于WSL2的Docker无法使用;
- 没办法使用vGPU和显卡直通;显卡直通是Vyper-V特有的;
- 关闭 Hyper-V 后,WSL2-Docker 和 WSL2-CUDA 都无法正常使用
也就是说我想要使用 WSL2 的所有功能就必须开启 Hyper-V,或者使用WSL1。
嵌套虚拟化共存问题
要支持 Virtualbox/VM、Hyper-V、WSL、Docker 共存和嵌套虚拟化的问题
基于虚拟化的安全 (VBS)
基于虚拟化的安全功能(VBS)使用硬件虚拟化和 Windows 虚拟机监控程序来创建独立的虚拟环境,该环境将成为假定内核遭到入侵的 OS 的信任根。
可以看看 VMware Workstation Pro
关于 主机 VBS 模式的限制 的说明
以下是在主机 VBS 模式下运行的 Workstation Pro 虚拟机的功能限制列表:
- 不支持嵌套拟机:
在主机 VBS 模式虚拟机上运行的客户机无法使用 x86 虚拟化功能 (Intel VT/AMD-V)。因此,此类虚拟机无法自行运行启用了 Hyper-V 或 VBS 的 Windows。 - 不支持 PMC:
x86 性能监控计数器 (Performance Monitoring Counter, PMC) 不可用。 - 不支持 RTM 和 HLE:
受限事务内存和硬件锁省略功能不可用。 - 不支持 PKU:
用户模式保护密钥功能不可用。
所以结论是存在两种中情况:
1)打开基于虚拟化的安全,Vmware, Virtualbox,WSL,Hyper-v,Docker可以共存。
但是Vmware和Virtualbox不支持嵌套虚拟化。
通过如下命令开启基于虚拟化的安全(假设你其他条件都具备),并重启。
bcdedit /set hypervisorlaunchtype Auto
2)关闭基于虚拟化的安全,Vmware和Virtualbox支持嵌套虚拟化,性能也会有些提升。但是wsl2,Vyper-v,以及基于wsl2的docker无法使用。
方法如下,重启后生效。
bcdedit /set hypervisorlaunchtype off
在最新版的Vmware和Virtualbox中,可以和WSL2共存。
但是这样一来vmware和virtualbox就都不能支持嵌套虚拟化了。
想要让他们支持嵌套虚拟化,则需要临时禁用wsl2,最简单的方法是禁用虚拟机监控程序,如下:
bcdedit /set hypervisorlaunchtype off
如果关闭了基于虚拟化的安全,这时候打开 Cpu-V,就会显示支持嵌套虚拟化了(vt-t启用状态是可用的)。
==也就是说开启VBS的和Vbox嵌套虚拟化只能二选一了?==
那么对于开启VBS,怎么使用嵌套虚拟化呢?有两种解决方案:
1)通过Hyper-v来新建虚拟机,使用嵌套虚拟化。
2)WSL2默认支持嵌套虚拟化,需要Win11以上。
参考内容
https://www.cnblogs.com/sunshe35/p/16722628.html
https://medium.com/%E6%B5%A6%E5%B3%B6%E5%A4%AA%E9%83%8E%E7%9A%84%E6%B0%B4%E6%97%8F%E7%BC%B8/wsl-docker-virtual-box-on-hyper-v-ca77deebcf86
Docker on Windows without Hyper-V
不使用 Hyper-V 作为 Docker 运行的基础
Docker - 在 Windows 10 底下不使用 Hyper-V 安裝 Docker
https://skychang.github.io/2019/03/30/Docker-Install_Docker_Without_HyperV_In_Windows_10/
設定 Windows 10 (版本 1809) 的 Windows 容器預設採用 process 隔離模式
https://blog.miniasp.com/post/2019/03/22/Enable-process-isolation-by-default-on-Windows-containers
Docker on Windows without Hyper-V
https://poweruser.blog/docker-on-windows-10-without-hyper-v-a529897ed1cc
How to install Docker on Windows 10 without Hyper-V
https://www.kauffmann.nl/2019/03/04/how-to-install-docker-on-windows-10-without-hyper-v/