Win11怎么在Hyper-V虚拟机中再嵌套运行Docker或KVM

夏枫姑娘_5678

夏枫姑娘_5678

2026-10-20

719人浏览

原创

必须启用嵌套虚拟化:先在宿主机开启硬件虚拟化与hyper-v,再用set-vmprocessor命令为关机状态的hyper-v虚拟机启用exposevirtualizationextensions,之后才可在其中运行wsl2、docker或kvm。

win11怎么在hyper-v虚拟机中再嵌套运行docker或kvm

在Windows 11的Hyper-V虚拟机里再运行Docker或KVM,本质是启用嵌套虚拟化——必须让Hyper-V虚拟机本身能暴露CPU的虚拟化指令(如Intel VT-x/AMD-V)给其内部的操作系统。这一步不完成,WSL2启动失败、Docker Desktop报“Hypervisor is not running”、KVM模块加载失败都是必然结果。

确认宿主机已开启硬件虚拟化与Hyper-V

打开任务管理器 → “性能”选项卡 → 查看右下角是否显示“虚拟化:已启用”。若显示“已禁用”,需重启进BIOS/UEFI开启Intel VT-x或AMD-V;若显示“未启用”,说明Windows未启用Hyper-V平台。

以管理员身份运行PowerShell,执行:
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完必须【重启电脑】,否则后续所有配置无效。

为Hyper-V虚拟机启用嵌套虚拟化

这是最关键的一步:默认情况下,Hyper-V创建的虚拟机是屏蔽CPU虚拟化标志位的,必须手动开启。

第一步:关闭目标虚拟机(不能处于“已保存”或“正在运行”状态,必须是完全关机)。

第二步:以管理员身份打开PowerShell,执行以下命令(将VMName替换为你实际的虚拟机名称,例如“MyWin11Dev”):
Set-VMProcessor -VMName VMName -ExposeVirtualizationExtensions $true

第三步:验证是否生效——运行:
Get-VMProcessor -VMName VMName | fl ExposeVirtualizationExtensions
输出必须为 True。若为False,说明上一步没执行成功或虚拟机未关机。

注意:该设置仅对当前虚拟机生效,不影响其他VM;也不需要修改.vmcx文件或注册表。

Docker Image Puller
Docker Image Puller

使用 Python 脚本下载 Docker 镜像并打包为 tar 文件。用户说“下载镜像”“拉取镜像”“pull xxx”“帮我下载 nginx 镜像”等时触发。支持 SOCKS5 代理直连(推荐)和国内镜像站加速两种模式。

下载

在虚拟机内部启用WSL2或Linux KVM

方法一:运行WSL2(推荐用于Docker Desktop)
进入已启用嵌套虚拟化的Windows 11虚拟机 → 以管理员身份运行PowerShell → 执行:
wsl --install
系统将自动启用WSL、安装最新内核、设为默认版本2。无需额外下载MSI包。

方法二:手动启用KVM(适用于Ubuntu/CentOS等Linux发行版)
启动Linux虚拟机后,在终端中运行:
egrep -c '(vmx|svm)' /proc/cpuinfo
若返回值 ≥ 1,说明嵌套虚拟化已透传成功;若返回0,则回到上一节检查Exposure设置或宿主机CPU支持。

确认成功后,安装KVM相关包:
Ubuntu/Debian:
sudo apt update && sudo apt install qemu-kvm libvirt-daemon-system virtinst
CentOS/RHEL:
sudo dnf install @virtualization

最后启动libvirtd服务:
sudo systemctl enable --now libvirtd

验证Docker能否在嵌套层正常运行

在已启用WSL2的Windows 11虚拟机中,直接下载并安装Docker Desktop(官网最新版)。安装时勾选“Use the WSL 2 based engine”。

安装完成后,打开PowerShell或CMD,运行:
docker run hello-world

若看到欢迎信息且无“Cannot connect to the Docker daemon”报错,说明嵌套链路完整打通:宿主机Hyper-V → Win11 VM → WSL2 → Docker daemon → 容器。

若失败,优先检查WSL2是否为默认版本:运行 wsl -l -v,确认STATE列为Running且VERSION为2;若不是,执行 wsl --set-version distro-name 2(如wsl --set-version Ubuntu-22.04 2)。

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

725

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5619

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6637

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2553

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

279

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

420

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

305

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

465

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习