需启用Windows 11虚拟GPU分片(GPU-P)功能:一、PowerShell配置内存映射并添加GPU分区适配器;二、绑定物理GPU设备路径并设VRAM/编解码参数;三、注册表禁用检查点与动态内存;四、Hyper-V管理器验证分片状态后启动虚拟机。

如果您在 Windows 11 中运行 Hyper-V 虚拟机,但虚拟机内无法识别 GPU、3D 渲染失败、视频编解码卡顿或设备管理器中显示“Microsoft Basic Display Adapter”,则可能是虚拟 GPU 分片(GPU Partitioning,即 GPU-P)功能未启用。该机制允许将单块物理 GPU 划分为多个隔离资源分区,供多个虚拟机并发使用,而非整卡直通。以下是开启 Windows 11 “虚拟GPU分片”的多种操作方法:
一、通过 PowerShell 启用 GPU 分片基础支持并配置内存映射
此步骤为 GPU 分片的前提条件,需先启用虚拟机对 GPU 内存空间的直接寻址能力,并扩展其 I/O 地址范围以容纳显存分区表与硬件加速上下文,否则后续分区绑定将失败。
1、确保 Hyper-V 和 Virtual Machine Platform 已启用,且虚拟机处于已关闭状态。
2、右键“开始”按钮,选择“Windows Terminal(管理员)”或“PowerShell(管理员)”。
3、执行以下命令,将 "Win11-VM" 替换为您的实际虚拟机名称:
$vmName = "Win11-VM"
Set-VM -GuestControlledCacheTypes $true -VMName $vmName
Set-VM -LowMemoryMappedIoSpace 1GB -VMName $vmName
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vmName
4、为该虚拟机添加 GPU 分区适配器实例:
Add-VMGpuPartitionAdapter -VMName $vmName
二、通过 PowerShell 绑定物理 GPU 设备路径并设定分片参数
该步骤将宿主机上可分区的物理 GPU(如 NVIDIA RTX 4090、AMD Radeon PRO W7800 或 Intel Arc A770)的 PCI 设备路径注入虚拟机配置,并设置各资源维度(VRAM、编码、解码、计算)的最小/最大/最优容量阈值,实现精细化分片控制。
1、在宿主机上按 Win + X,选择“设备管理器”,展开“系统设备”,找到对应 GPU 的 PCI 设备(例如 NVIDIA GeForce RTX 4090),右键→“属性”→“详细信息”→下拉选择“硬件ID”,复制完整 ID 字符串(如 PCI\VEN_10DE&DEV_2782)。
2、在管理员 PowerShell 中执行以下命令,替换 $gpu_path 为实际设备路径(注意补全前缀 \?PCI#):
$vm = "Win11-VM"
$gpu_path = "?PCI#VEN_10DE&DEV_2782#"
Add-VMGpuPartitionAdapter -VMName $vm -InstancePath $gpu_path
3、设置该 GPU 分区的显存与编解码能力参数(单位字节,示例设为 512 MB 显存与等量编解码带宽):
Set-VMGpuPartitionAdapter -VMName $vm -MinPartitionVRAM 200000000 -MaxPartitionVRAM 536870912 -OptimalPartitionVRAM 536870912 -MinPartitionEncode 200000000 -MaxPartitionEncode 536870912 -OptimalPartitionEncode 536870912 -MinPartitionDecode 200000000 -MaxPartitionDecode 536870912 -OptimalPartitionDecode 536870912 -MinPartitionCompute 200000000 -MaxPartitionCompute 536870912 -OptimalPartitionCompute 536870912
三、通过注册表禁用检查点与动态内存以保障分片稳定性
GPU 分片依赖于硬件级内存隔离与确定性资源分配,而检查点(Checkpoint)和动态内存(Dynamic Memory)会引入非一致性的内存快照与运行时重映射,导致 GPU 上下文丢失、驱动崩溃或分片不可用。必须全局禁用这两项功能。
1、按 Win + R 输入 regedit 并回车,以管理员权限打开注册表编辑器。
2、导航至路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestConfiguration。
3、在右侧空白处右键 → 新建 → DWORD (32位) 值,命名为 DisableCheckpoints,双击将其数值数据设为 1(十进制)。
4、再次右键 → 新建 → DWORD (32位) 值,命名为 DisableDynamicMemory,双击将其数值数据设为 1(十进制)。
5、关闭注册表编辑器,重启宿主机使策略生效。
四、通过 Hyper-V 管理器验证 GPU 分片状态并启动虚拟机
该步骤用于确认 GPU 分片配置是否被系统正确加载,避免因驱动版本不兼容、固件未启用 SR-IOV 或 WDDM 版本过低导致的静默失败,是部署后必检环节。
1、按 Win + R 输入 virtmgmt.msc 并回车,打开 Hyper-V 管理器。
2、在左侧连接名上右键 → “Hyper-V 设置”,在“物理 GPU”节点下确认目标 GPU 显示为 “可用”且“支持分区”。
3、在右侧虚拟机列表中右键目标虚拟机 → “设置”,展开“硬件”→“GPU 分区适配器”,确认其状态为 “已启用” 并显示已绑定设备路径。
4、启动虚拟机,在其内部运行 dxdiag,切换至“显示”选项卡,检查“驱动程序模型”是否为 WDDM 3.0 或更高版本,且“显示器”名称不再为 Microsoft Basic Display Adapter。


















