要确认主机能否运行Hypervisor,必须先核对操作系统版本、CPU特性与固件支持情况——如Windows 10家庭版即使硬件达标也无法启用Hyper-V,Ubuntu 18.04默认不满足构建依赖,UEFI需2.3.1+并开启Secure Boot和Virtualization Technology。

要确认你的主机能否运行 Hypervisor,必须先核对操作系统版本、CPU 特性与固件支持情况,缺一不可——比如 Ubuntu 20.04 可以跑 hypervisor,但 Ubuntu 18.04 默认不满足构建依赖;Windows 10 家庭版即使硬件达标也无法启用 Hyper-V 角色。
支持的宿主操作系统(Host OS)
宿主系统是 hypervisor 运行的基础平台,必须严格匹配以下列表:
✅ Linux 系统:Ubuntu 20.04 LTS 及更新版本、CentOS 8 或 RHEL 8+(含 Stream 9);注意:Ubuntu 22.04/24.04 原生支持 UEFI Secure Boot 模式下的 hypervisor 启动,而 CentOS 7 已被明确弃用,CMake 构建会直接报错找不到 sys/epoll.h。
✅ Windows 系统:仅限 Windows 10 专业版/企业版、Windows 11 专业版/企业版、Windows Server 2016 及以上版本;Windows 家庭版完全不提供 Hyper-V 平台接口,启用命令会返回“Feature name Microsoft-Hyper-V is unknown”,无法绕过。
⚠️ UEFI 固件要求:必须为 UEFI 2.3.1 或更高版本,且需在 BIOS 设置中开启 “Secure Boot” 和 “Virtualization Technology” 两项——关闭 Secure Boot 后,部分第 2 代虚拟机可能无法加载 EFI 驱动,启动卡在 black screen。
支持的来宾操作系统(Guest OS)
来宾系统指在虚拟机内安装并运行的操作系统,不同 hypervisor 实现支持范围差异较大:
方法一:Hyper-V 兼容来宾系统(Windows 主导环境)
支持完整集成服务的系统包括:Windows Server 2025/2022/2019/2016、Windows 11(22H2 起)、Windows 10(1809 起);Linux 方面,官方明确支持 Ubuntu 20.04+、Debian 11+、CentOS 8+/Rocky Linux 8+、openSUSE Leap 15.3+;FreeBSD 13+ 也已通过 Hyper-V 集成服务认证。
方法二:基于 hy/hypervisor 开源项目(Linux 主导环境)
当前 master 分支默认支持 x86_64 架构下的 Linux 内核 5.10+ 来宾系统,需手动编译 virtio-blk/virtio-net 驱动;Windows 来宾暂未实现完整 ACPI 表模拟,【无法启动 Windows 10/11 安装镜像】;Rust 扩展启用后可实验性运行 seL4 微内核,但需额外 patch KVM 模块。
硬件与固件强制要求
第一步:确认 CPU 支持 SLAT(二级地址转换)
打开 PowerShell(管理员),执行 systeminfo.exe → 滚动查看 “Hyper-V Requirements” 区块 → 若 “Second Level Address Translation” 显示 “Yes”,继续;若为 “No”,说明 CPU 不支持或 BIOS 中 VT-x/AMD-V 未开启,【此时编译 hypervisor 会失败,报错 ‘KVM: disabled by bios’】。
第二步:验证内存与虚拟化开关
物理内存不得低于 4GB;在 Windows 中可通过任务管理器→性能→CPU→右下角查看 “虚拟化” 是否为“已启用”;Linux 下运行 egrep -c '(vmx|svm)' /proc/cpuinfo,输出大于 0 才代表硬件虚拟化已就绪。
第三步:检查 DEP/XD/NX 位是否激活
Intel 平台需确保 BIOS 中 “Execute Disable Bit” 已启用;AMD 平台对应选项名为 “NX Mode” 或 “No-Execute Memory Protection”;该功能不可软件模拟,关闭会导致 hypervisor 初始化阶段 kernel panic。
第四步:确认构建工具链版本合规
运行 cmake --version → 必须 ≥ 3.13;gcc --version → 必须 ≥ 9.0(GCC 8 编译 hy 时会在 hv_vmx.c 报 undefined reference to ‘__builtin_ia32_xsave’);nasm -v → 必须 ≥ 2.14(NASM 2.13 对 AVX-512 指令编码错误)。

















