首页/新闻资讯/正文详情

在 Linux libvirt/QEMU 客户机中为 Multipass 启用 Hyper-V:嵌套虚拟化完整配置指南

发布时间:2026/9/26 17:35:13 来源:云帆数科 栏目:资讯中心
在 Linux libvirt/QEMU 客户机中为 Multipass 启用 Hyper-V:嵌套虚拟化完整配置指南
虚拟化开发工具云原生【免费下载链接】multipassMultipass orchestrates virtual Ubuntu instances项目地址https://gitcode.com/gh_mirrors/mu/multipass点击查看免费下载Multipass 在 Windows 上默认使用 Hyper-V 驱动仅限 Windows Pro/Enterprise/Education 版本来编排 Ubuntu 实例。当 Windows 以客户机形式运行在 Linux 宿主机上的 QEMU/libvirt 环境里时QEMU 默认不会向该客户机暴露 Hyper-V 所需的虚拟化特性导致 Multipass 无法正常工作。本文基于仓库中的 dev-docs/running-multipass-on-a-windows-libvirt-qemu-guest.md完整梳理宿主 KVM 嵌套虚拟化 → QEMU/libvirt 特性透传 → 客户机启用 Hyper-V三层配置链路并结合 Multipass QEMU 后端源码印证底层原理帮助你在虚拟化嵌套场景下把 Multipass 跑起来。注意原始文档写于 2020 年部分细节可能随 QEMU、内核与 Windows 版本演进而过时请在当前环境下验证。背景为什么 QEMU 客户机里的 Hyper-V 不可用在 Linux 宿主机上通过 QEMU/libvirt 运行 Windows 客户机时客户机默认不会暴露 Windows 启用 Hyper-V 所需的特性。而 Multipass 的 Windows 原生后端正是基于 Hyper-V 的对应源码目录 src/platform/backends/hyperv_api因此要让 Multipass 在这台 Windows 客户机里正常工作必须先满足 Hyper-V 的运行前提。要让 Hyper-V 在 Windows Pro / Enterprise / EducationHome 版本不支持客户机中启用需要同时满足三个条件宿主必须开启嵌套虚拟化nested virtualization宿主必须把相关 CPU 特性暴露给客户机客户机内必须启用虚拟化功能。三者缺一不可下面逐一展开。宿主配置为 KVM 开启嵌套虚拟化Intel 处理器从 Haswell 系列开始支持嵌套虚拟化部分 AMD 处理器同样支持。第一步是在 KVM 层面开启嵌套。Intelkvm-intel 模块参数嵌套能力通过kvm-intel内核模块启用需要打开nested与eptExtended Page Tables扩展页表两个选项。这两个选项默认已启用若未启用可在引导时通过配置文件强制开启。创建/etc/modprobe.d/kvm-nested.conf并写入options kvm-intel nested1 options kvm-intel ept1原始文档还建议一并开启enable_shadow_vmcs与enable_apicv。这两个选项并非必需但可能对某些场景很重要由于作者当时的 Broadwell 处理器不支持它们未经实测建议在较新硬件上验证。AMDkvm-amd 模块参数AMD 平台的操作流程与 Intel 类似使用kvm-amd模块同样有nested选项。与 Intelept对应的 AMD 术语是nptNested Page Tables嵌套页表又称 Rapid Virtualization Indexing / RVI。与 Intelenable_apicv对应的是avic选项。而enable_shadow_vmcs在 AMD 上不存在对应项——因为 VMCS shadowing 本质上就是嵌套虚拟化的别名。原始文档明确注明关于 AMD 的所有内容均未经作者实测作者手头没有 AMD 机器包括kvm-amd模块参数、QEMU 选项以及这些配置能否让客户机里的 Hyper-V 正常工作都需要在 AMD 硬件上验证。配置写入后可用如下方式确认嵌套虚拟化是否生效命令需在宿主机上以 root 权限执行cat /sys/module/kvm_intel/parameters/nested输出为Y或1表示已开启。QEMU 配置向客户机暴露虚拟化特性在 KVM 层面开启嵌套之后还需要让 QEMU 把虚拟化特性透传给客户机在Intel上必须向客户机暴露vmx特性表示 CPU 支持 VT-x在AMD上必须暴露svm特性部分带xsaves的 Intel/AMD 处理器还需要禁用xsaves特性以规避 Launchpad 上的 QEMU bug #1864536是否受该 bug 影响可通过virsh capabilities检查。配置可通过两条路径完成libvirt 域 XML或 QEMU 命令行。通过 libvirt修改域 XML 的cpu段在虚拟机 XML 的cpu段中加入两行特性声明即可。Intel 示例如下cpu modehost-model checkpartial feature policyrequire namevmx/ feature policydisable namexsaves/ /cpu其中policyrequire表示该特性必须存在缺失则拒绝启动policydisable表示强制关闭该特性。AMD 侧改为暴露svmfeature policyrequire namesvm/ feature policydisable namexsaves/通过 QEMU 命令行若直接使用命令行启动 QEMU则在-cpu选项中追加特性标记Intel必须包含vmx并追加-xsavesAMD必须包含svm且若处理器支持xsaves同样需要传入-xsaves。即形如-cpu host,vmx,-xsavesAMD 则为-cpu host,svm,-xsaves。这一思路与 Multipass 自身的 QEMU 后端实现相呼应在 src/platform/backends/qemu/linux/qemu_platform_linux.cpp 中Multipass 启动实例时固定追加--enable-kvm与-cpu host即以host模式把宿主 CPU 特性整体透传给 Ubuntu 实例本文场景则是反过来——把vmx/svm等特性手工暴露给 Windows 客户机让客户机里的 Hyper-V进而让 Multipass得以运行。更完整的 QEMU 启动参数磁盘、内存、网卡、cloud-init 等可见 src/platform/backends/qemu/qemu_vm_process_spec.cpp。客户机配置在 Windows 中启用 Hyper-V宿主与 QEMU 层面的配置完成后还需要在 Windows 客户机内部启用 Hyper-V 功能。启用方法即微软官方文档中描述的通用流程控制面板 → 启用或关闭 Windows 功能 → 勾选 Hyper-V或通过 PowerShell 的Enable-WindowsOptionalFeature命令完成本文不再赘述。启用后重启客户机Multipass 便可在其中正常调用 Hyper-V 后端。性能优化思路手动暴露更多处理器特性原始文档记录了一个已知现象开启嵌套后客户机会变慢。原因是部分处理器特性不会被自动暴露但可以手工透传例如 SSE 寄存器、AVIC/APICV 等。文档给出的排查方法如下分别在宿主机与一个 Linux 客户机内执行cat /proc/cpuinfo | grep flags | grep uniq对比两份flags列表找出客户机缺失的特性评估手工暴露这些缺失特性后客户机性能是否有可测的提升。这套对比 flags → 手动透传 → 复测的方法论同样适用于本文的 Hyper-V 场景若 Windows 客户机内 Hyper-V 已可运行但性能不理想可以比照 Intel 的vmx/-xsaves方式把缺失且安全的特性逐项加入 libvirt XML 的feature列表或-cpu选项观察对客户机性能的影响。与 Multipass 生态的关联理解本文场景有助于更完整地认识 Multipass 的驱动架构Windows 上的默认驱动是 Hyper-V仅 Windows ProHome 版本则使用 VirtualBox。Multipass 一次只运行一个驱动可通过local.driver设置切换详见 docs/explanation/driver.md。在 Linux 宿主机上Multipass 自 1.16 版本起仅提供 QEMU 驱动其 KVM 加速与-cpu host透传逻辑由 src/platform/backends/qemu/linux/qemu_platform_linux.cpp 承载Windows 侧的 Hyper-V 后端实现则集中在 src/platform/backends/hyperv_api。因此本文的完整链路是Linux 宿主机Multipass 用 QEMU/KVM 跑 Windows 客户机→ Windows 客户机Multipass 用 Hyper-V 跑 Ubuntu 实例。这是一种虚拟化套娃场景只有把嵌套虚拟化每一层都配置正确两层 Multipass 才能各自正常工作。参考资源原始文档还附有一批可进一步阅读的材料均为外部资料此处仅列出主题供按名检索x86 虚拟化的维基百科条目X86_virtualizationlibvirt 域 XML 格式说明libvirtformatdomain文档QEMU 的 Hyper-V enlightenments 文档qemu/docs/hyperv.txt——enlightenments 是面向 Windows 客户机优化性能的一组特性与之相关的社区讨论通常能改善 Windows 客户机在 KVM 中的运行效率一篇 serverfault 上关于嵌套虚拟化的问答提出了一个可工作的解决方案。综合来看在 Linux 宿主机上让 Multipass 运行于 Windows libvirt/QEMU 客户机内本质上是打通宿主 KVM 嵌套 → QEMU 特性透传 → 客户机 Hyper-V 启用三层配置。按本文顺序依次核对kvm-intel/kvm-amd模块参数、libvirtcpu特性声明或命令行-cpu选项与 Windows 功能开关即可完成部署若追求更好的客户机性能可进一步沿用对比 CPU flags、手动透传特性的优化路径。赞分享虚拟化开发工具云原生【免费下载链接】multipassMultipass orchestrates virtual Ubuntu instances项目地址https://gitcode.com/gh_mirrors/mu/multipass点击查看免费下载相关推荐Windows Hyper-V中运行macOS虚拟机完整配置指南Windows Hyper V中运行macOS虚拟机完整配置指南 想在Windows系统上体验macOS的魅力吗通过开源项目OSX Hyper V你可以在W虚拟化操作系统固件终极指南在Windows Hyper-V中完美运行macOS虚拟机的完整配置终极指南在Windows Hyper V中完美运行macOS虚拟机的完整配置 想在Windows系统上无缝体验macOS的优雅界面和强大功能吗通过开源项目O虚拟化操作系统固件IOPaint基于AI的智能图像修复与内容编辑解决方案IOPaint基于AI的智能图像修复与内容编辑解决方案 你是否曾为照片中的水印、瑕疵或不想要的物体而烦恼是否希望在保留原始图像质量的同时精确地移除或替换特人工智能AI 应用计算机视觉图像处理媒体生成后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

九章云极DART-GUI-7B登顶OSWorld 7B榜首:用TaoToken统一Key复现轻量化模型强化学习评测链路
九章云极DART-GUI-7B登顶OSWorld 7B榜首:用TaoToken统一Key复现轻量化模型强化学习评测链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 17:35:06

我用响指和口哨“遥控“电脑:一次关于“启发式识别“的踩坑记录
我用响指和口哨“遥控“电脑:一次关于“启发式识别“的踩坑记录

缘起:一个听起来很简单的需求 “打个响指就能开程序”——这个点子最早只是随口一说,实现起来似乎也不难:麦克风一直开着,检测到声音就判断一下类型,对上号就启动程序。用 Python 写,pyaudio 抓音频&#x… · 2026/9/26 17:35:06

STM32 串口接收防错乱实践:DMA 环形缓冲与帧头解析
STM32 串口接收防错乱实践:DMA 环形缓冲与帧头解析

目录 前言 环形缓冲区 CubeMX配置 代码编写 帧格式 环形缓冲区结构体和初始化 串口环形缓冲写入 环形缓冲区读取 结语 前言 按上篇文章基于 STM32 的空调蓝牙遥控器设计与实现:红外发射篇的步骤,笔者测试中发现,如果不小心按错&… · 2026/9/26 17:34:54

Jev模型与Vercel AI Gateway:结构化决策的工程化落地指南
Jev模型与Vercel AI Gateway:结构化决策的工程化落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:36:53

Agent环境治理实战:理解沙箱隔离与300万规模架构
Agent环境治理实战:理解沙箱隔离与300万规模架构

1. 本地跑得好好的Agent,为什么一上线就崩1.1 从"一个Agent"到"300万个Agent"的质变开发AI Agent的人大多经历过这种诡异时刻:本地把 ReAct 循环调试得顺风顺水,工具调用、模型返回、记忆读写全部正常,结果一… · 2026/9/26 18:36:53

PPT绘图保存为PDF的三种方式:另存为、打印、导出全解析
PPT绘图保存为PDF的三种方式:另存为、打印、导出全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:36:53

C86平台迁移实战:破解x86兼容的三大幻觉与全生命周期适配
C86平台迁移实战:破解x86兼容的三大幻觉与全生命周期适配

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:36:53

汽车装配线MES方案:节拍、防错与追溯的落地指南
汽车装配线MES方案:节拍、防错与追溯的落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:36:46

MySQL 8.4.6安装配置实战:从驱动选型到连接池排坑
MySQL 8.4.6安装配置实战:从驱动选型到连接池排坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 18:36:46

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码