Hyper – V 高级功能简易操作指南
在科技飞速发展的当下,虚拟化技术已成为 IT 领域不可或缺的重要部分。Hyper – V 作为微软推出的虚拟化平台,拥有众多强大而实用的功能。今天,就让我们一同深入了解并学习如何轻松玩转 Hyper – V 高级功能,开启高效的虚拟化之旅。
一、初识 ExHyperV
ExHyperV 是一款致力于简化 Hyper – V 高级功能使用的软件。它的诞生源于对微软 Hyper – V 文档的深度解读,以及对 James 的 Easy – GPU – PV 项目的深入研究与完善。ExHyperV 能为用户提供了一系列便利的功能,比如 DDA(离散设备分配)和 GPU 半虚拟化(GPU 分区)等。
通过使用 ExHyperV,无需具备深厚的专业知识和丰富的实践经验,即使是普通用户也能轻松地运用 Hyper – V 的高级功能。它就像是一个得力的助手,帮助我们跨越复杂的技术门槛,尽情享受虚拟化技术带来的高效与便捷。
二、DDA 功能的魅力
DDA,即离散设备分配,它允许我们将独立的设备,如显卡、网卡、USB 控制器等,直接分配给虚拟机。这种设备分配方式是以 PCIE 总线为单位进行的。在实际操作中,如果我们要直通某个设备,但该设备不在 ExHyperV 显示的列表中,那么我们需要直通更上一级的控制器。
DDA 设备存在三种状态:主机态、卸除态和虚拟态。当设备处于主机态时,它挂载在宿主系统上,为宿主系统所使用;当我们执行 “Dismount – VMHostAssignableDevice” 命令后,设备就会转变为卸除态,此时它已脱离宿主系统,等待被分配给虚拟机;而当设备成功被分配到虚拟机后,它就处于虚拟态,全心全意为虚拟机服务。
在显卡兼容性方面,目前 ExHyperV 支持多种显卡型号。例如,Nvidia 的 RTX 5090、RTX 4090、RTX 4070、GT 1050、GT 1030 等显卡都得到了良好的支持,它们在虚拟机中能够被识别,并且具备功能层复位能力,可以实现物理显示输出。不过,像 Nvidia 的 GT 210 显卡虽然能够被识别和具备功能层复位能力,但无法实现物理显示输出。对于 Intel 的 Intel DG1 显卡,在特定驱动的支持下,它也能在虚拟机中发挥作用。
三、GPU – PV 的奥秘
GPU – PV,即 GPU 半虚拟化,是自 WDDM 2.4 开始提供的新功能。这意味着宿主机和虚拟机的系统版本不能低于 17134,否则将无法实现 GPU – PV。目前,我们还无法通过有效的手段来限制虚拟机 GPU 的资源使用,Set – VMGpuPartitionAdapter 的设定参数暂时无法发挥实质性作用。尽管 Nvidia 的 Grid 驱动可以实现资源分割,但它需要支付较高的授权费用,这让很多用户望而却步。
GPU – PV 创建的逻辑适配器只是从系统层面模拟物理适配器,对于物理适配器独特的注册表参数、硬件特征、驱动特征等,并没有得到很好的继承。因此,如果软件或游戏严重依赖于这些特殊标志,就可能会出现错误,这就需要我们进行针对性的修复。
不同的 Windows 版本对应着不同的 WDDM 版本,而 WDDM 版本越高,GPU – PV 的功能就越完善。从 Windows 版本 17134 的 WDDM 2.4 引入基于 IOMMU 的 GPU 隔离,到 Windows 版本 26100 的 WDDM 3.2 增加 GPU 实时迁移功能等,每一次的更新都为 GPU – PV 带来了新的特性和提升。
对于虚拟机的 Windows 版本,17134 以下版本不支持 GPU 半虚拟化;17134 到 19040 之间的版本虽然可以调用 GPU,但无法正确显示显卡型号;而从 19041 版本开始,就可以正常使用 GPU 功能,正确显示显卡型号等信息。
在 GPU 半虚拟化模型中,虚拟机获取到的 GPU 是作为 “渲染适配器” 存在的,通常会与作为 “显示适配器” 的 Microsoft Hyper – V 视频进行画面输出。然而,Microsoft Hyper – V 视频的分辨率最高仅支持 1080p,刷新率也受到限制。为了获得更好的显示效果,我们有以下几种方案:一是使用 Microsoft Hyper – V 视频,虽然兼容性良好,但在分辨率和刷新率上有一定局限;二是尝试间接显示驱动程序,如搭配 Sunshine 等串流软件使用;三是采用 USB 显卡,通过直通一个 USB 控制器,然后连接 USB 显卡来实现显示信号输出。
四、ExHyperV 的安装与构建
安装 ExHyperV 十分简便,我们只需从其官方下载页面获取最新版的安装包,按照安装向导的提示进行操作即可。在安装过程中,系统可能会提示我们一些必要的依赖项或配置要求,我们只需按照提示逐步完成即可。
对于那些希望深入了解 ExHyperV 内部工作原理,或者想要根据自己的需求进行定制化开发的用户,可以尝试构建 ExHyperV。构建 ExHyperV 需要安装 Visual Studio 2022,并添加 C# 和 WPF 组件。安装完成后,打开 “/src/ExHyperV.sln” 项目文件,即可开始构建属于自己的 ExHyperV 版本。在构建过程中,我们可以对代码进行阅读和理解,探索 ExHyperV 的奥秘,甚至可以根据自己的想法对代码进行修改和优化,让 ExHyperV 更加符合自己的需求。
五、ExHyperV 的界面与操作
ExHyperV 的界面简洁直观,易于上手。其主界面展示了软件的主要功能和当前系统中可操作的设备信息。在功能页面中,我们可以清晰地看到 DDA 和 GPU – PV 等功能模块,以及各个设备的详细状态信息。例如,在 DDA 功能模块下,我们可以查看到各个 PCIE 设备的当前状态,如主机态、卸除态或虚拟态等;在 GPU – PV 功能模块下,我们可以看到 GPU 的分区情况、虚拟机的分配情况等。
通过简单的点击和选择操作,我们就可以轻松地对设备进行分配和管理。例如,如果我们要将一块显卡通过 DDA 分配给虚拟机,只需在主界面中找到该显卡对应的设备项,点击 “卸除” 按钮将其从主机态转变为卸除态,然后再选择要分配的虚拟机,点击 “分配” 按钮,即可完成显卡的直通操作。同样地,在 GPU – PV 功能中,我们可以通过简单的操作创建 GPU 分区,并将其分配给虚拟机,让虚拟机能够共享 GPU 的强大性能。
六、可用 Windows 版本与注意事项
ExHyperV 支持多种 Windows 版本。对于 DDA 功能,支持 Windows Server 2016、Windows Server 2019、Windows Server 2022 和 Windows Server 2025 等版本。对于 GPU – PV 功能,支持 Windows 11、Windows Server 2022 和 Windows Server 2025 等版本。需要注意的是,对于 GPU – PV,宿主机系统版本不得低于 22000。这是因为低于 22000 版本的 Hyper – V 组件中,Add – VMGpuPartitionAdapter 缺少参数 InstancePath,导致无法指定需要虚拟化的特定显卡,容易引发混乱。因此,为了确保 GPU – PV 功能的正常使用,建议用户将宿主系统升级到 22000 或更高版本。
在使用 ExHyperV 的过程中,还有一些注意事项需要牢记。首先,虚拟机最好将运行内存固定分配,这样可以避免因内存动态调整而可能引起的一些不稳定因素。其次,无论是 DDA 还是 GPU – PV 功能,都可以使用一代虚拟机或二代虚拟机,用户可以根据自己的需求和实际情况自由选择。此外,所有功能均不需要禁用检查点功能,这为用户的操作提供了更大的灵活性和便利性。
一张显卡在同一时间只能作为 DDA 或者 GPU – PV,二者不能同时进行。但是,一个虚拟机可以同时使用 DDA 和 GPU – PV 功能。例如,我们可以在一个虚拟机中通过 DDA 直通一块独立显卡,同时通过 GPU – PV 分区另一块显卡的资源,让虚拟机充分发挥不同显卡的优势,实现更强大的图形处理能力。并且,一个虚拟机可以从同一张显卡获得多个逻辑适配器分区,但总性能并不会因此而提升;当然,它也可以从多张显卡获得多个逻辑适配器分区,实现更灵活的资源分配和利用。
七、ExHyperV 的魔法功能
ExHyperV 还拥有一些独特的魔法功能,为用户带来更多的便利。例如,它会自动将宿主驱动导入到虚拟机中。同时,为了防止驱动文件丢失,ExHyperV 会将 HostDriverStore 下的所有文件设定为只读属性。对于 Nvidia 显卡,ExHyperV 会自动导入宿主系统的 nvlddmkm.reg 文件,并巧妙地修改其中的 DriverStore 为 HostDriverStore,确保虚拟机能够正确地使用宿主系统的驱动,发挥显卡的最大性能。
在实际应用中,这些魔法功能大大简化了虚拟机的配置过程,减少了用户手动安装和配置驱动的工作量。用户只需专注于虚拟机的使用和管理,就能享受到高性能的虚拟化体验。
八、总结
ExHyperV 作为一款功能强大的 Hyper – V 高级功能辅助软件,以其简洁易懂的操作界面、丰富实用的功能以及独特的魔法功能,为我们打开了一扇轻松玩转 Hyper – V 的大门。通过学习和掌握 ExHyperV 的使用方法,无论是个人用户还是企业用户,都能在虚拟化领域中更加高效地工作和创新。
从 DDA 的设备直通,到 GPU – PV 的资源分区,再到各种便捷的辅助功能,ExHyperV 都为我们提供了全方位的支持。它让复杂的 Hyper – V 高级功能变得触手可及,让每一位用户都能在虚拟化的世界中尽情探索,享受科技带来的无限可能。
让我们携手 ExHyperV,在虚拟化技术的道路上不断前行,共同创造更加美好的数字化未来!



