Hyper-V · GPU-ускорение · Windows 10 и 11

Как пробросить видеокарту в Hyper-V в Windows 10 и Windows 11
GPU-P · DDA · Диагностика

Практическое руководство по использованию физической видеокарты внутри виртуальной машины Hyper-V: что поддерживается официально, чем отличается GPU Partitioning от полного DDA passthrough и как настроить Windows VM пошагово.

⏱ 14 минут чтения 🪟 Windows 10 Pro / Enterprise 🪟 Windows 11 Pro / Enterprise 🖥️ Hyper-V 🎮 GPU Partitioning

Что такое проброс видеокарты в Hyper-V на Windows 10 и Windows 11?

Проброс видеокарты означает предоставление виртуальной машине прямого или почти прямого доступа к физическому графическому адаптеру, установленному в основном компьютере. Вместо использования только базового виртуального видеоадаптера Hyper-V гостевая операционная система может задействовать аппаратное ускорение для 3D-графики, кодирования видео, CUDA или DirectX-нагрузок, удалённых рабочих столов, лёгкого гейминга, AI-инструментов и ресурсоёмких графических приложений.

В Hyper-V выражение «GPU passthrough» часто используют для двух разных технологий: Discrete Device Assignment (DDA), которая назначает целую PCIe-видеокарту одной виртуальной машине, и GPU Partitioning (GPU-P), которая передаёт гостевой системе раздел основного GPU. На клиентских системах Windows 10 и Windows 11 наиболее практичный вариант для домашних пользователей и рабочих станций — GPU-P, а не полноценный серверный DDA.

💡
Кратко Если вы используете Windows 10 или Windows 11 как хост Hyper-V, рассматривайте GPU-P как реалистичный метод, а DDA — как серверную технологию. Обычный настольный ПК с Windows 11 Pro может иметь PowerShell-команды для GPU-P, но это не означает, что Microsoft гарантирует корректную работу с любой видеокартой, драйвером и приложением.

Зачем подключать видеокарту к виртуальной машине Hyper-V

Поддержка GPU passthrough в Hyper-V: DDA и GPU-P на Windows 10/11

Перед изменением параметров виртуальной машины важно понимать границы поддержки. Microsoft описывает Discrete Device Assignment как технологию Windows Server для назначения поддерживаемых PCIe-устройств, включая видеокарты и NVMe-накопители, напрямую виртуальной машине. В современных рекомендациях Microsoft сценарии DDA и GPU-P относятся в первую очередь к серверному классу: настольное оборудование и клиентские Windows 10/11 не являются целевой поддерживаемой платформой для корпоративного назначения GPU.

Технология Как работает Лучший сценарий Реальность на Windows 10/11 Client
DDA Передаёт целую PCIe-видеокарту одной VM. Хост теряет обычный доступ к этой видеокарте на время назначения. Хосты Windows Server, доверенные VM, выделенное оборудование, корпоративные нагрузки. Не является обычным поддерживаемым сценарием для клиентского ПК. Требует совместимого оборудования, прошивки, ACS/IOMMU и продуманных решений по безопасности.
GPU-P Создаёт раздел GPU и подключает его к виртуальной машине поколения 2 через PowerShell. Совместное использование части видеокарты хоста с VM для ускорения. Часто применяется экспериментально на Windows 10/11 Pro или Enterprise, но обновления драйверов и Windows могут сломать конфигурацию.
RemoteFX vGPU Старая технология виртуального GPU. Только устаревшие среды Windows Server/Hyper-V. Не используйте её. RemoteFX vGPU была удалена из-за проблем безопасности.
⚠️
Важно Дальнейшие шаги сосредоточены на GPU-P, потому что именно этот метод чаще всего пытаются использовать владельцы Windows 10 и Windows 11 с Hyper-V на клиентском компьютере. Перед экспериментами всегда создавайте контрольную точку или резервную копию. Обновление Windows, драйвера видеокарты или изменение конфигурации Hyper-V может потребовать повторной настройки.

Системные требования для GPU Partitioning в Hyper-V на Windows 10 и 11

GPU Partitioning чувствителен к оборудованию, драйверам и точной конфигурации виртуальной машины. Перед запуском PowerShell-команд проверьте все требования ниже.

Требования к компьютеру-хосту

Требования к виртуальной машине

Как включить Hyper-V, если он не установлен

Откройте PowerShell от имени администратора и выполните:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Перезагрузите Windows, когда система предложит это сделать. После перезагрузки откройте Диспетчер Hyper-V из меню «Пуск».

Как подготовить виртуальную машину Hyper-V перед добавлением GPU

Перед подключением GPU partition adapter виртуальная машина должна быть выключена и настроена последовательно. Не выполняйте эти команды, если VM находится в сохранённом состоянии.

Шаг 1. Задайте переменную с именем VM

Замените Win11-GPU на точное имя вашей виртуальной машины:

$vm = "Win11-GPU"

Шаг 2. Выключите виртуальную машину

Stop-VM -Name $vm -TurnOff

Шаг 3. Отключите автоматические контрольные точки и динамическую память

Set-VM -Name $vm -AutomaticCheckpointsEnabled $false
Set-VMMemory -VMName $vm -DynamicMemoryEnabled $false -StartupBytes 8GB

Шаг 4. Настройте параметры кэша и MMIO

Эти параметры часто используются при подключении ресурсов GPU к виртуальным машинам Hyper-V. Они помогают гостевой системе корректно отображать память устройства.

Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 1GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 32GB -VMName $vm
Рекомендация Начните с 8 ГБ ОЗУ для VM и 32 ГБ High MMIO space. Если гостевая система не загружается или видеокарта не инициализируется, увеличьте объём памяти и проверьте совместимость драйверов, прежде чем менять сразу много параметров.

Как включить GPU Partitioning в Hyper-V через PowerShell

Основная команда GPU-P — Add-VMGpuPartitionAdapter. Она добавляет виртуальный адаптер раздела GPU к выбранной виртуальной машине. На многих системах Hyper-V автоматически выбирает доступную видеокарту, которую можно разделить. Если команда завершается ошибкой, возможно, ваше оборудование, драйвер, сборка Windows или набор функций Hyper-V не предоставляет GPU-P корректно.

Шаг 1. Проверьте наличие разделяемой видеокарты

Get-VMHostPartitionableGpu

Если команда возвращает сведения о GPU, хост видит хотя бы одну видеокарту как доступную для partitioning. Если результата нет, обновите драйвер GPU, установите все обновления Windows, перезагрузите компьютер и проверьте настройки виртуализации в BIOS/UEFI.

Шаг 2. Добавьте GPU Partition Adapter

Add-VMGpuPartitionAdapter -VMName $vm

Шаг 3. При необходимости задайте лимиты ресурсов GPU

Некоторые конфигурации позволяют определить минимальные, максимальные и оптимальные значения для VRAM, кодирования, декодирования и вычислительных ресурсов. Точное поведение зависит от видеокарты и драйвера.

Set-VMGpuPartitionAdapter -VMName $vm `
  -MinPartitionVRAM 80000000 `
  -MaxPartitionVRAM 1000000000 `
  -OptimalPartitionVRAM 1000000000 `
  -MinPartitionEncode 80000000 `
  -MaxPartitionEncode 1000000000 `
  -OptimalPartitionEncode 1000000000 `
  -MinPartitionDecode 80000000 `
  -MaxPartitionDecode 1000000000 `
  -OptimalPartitionDecode 1000000000 `
  -MinPartitionCompute 80000000 `
  -MaxPartitionCompute 1000000000 `
  -OptimalPartitionCompute 1000000000

Шаг 4. Запустите виртуальную машину

Start-VM -Name $vm

На этом этапе Windows внутри VM может обнаружить устройство, связанное с GPU, но аппаратное ускорение обычно не заработает корректно, пока гостевая система не получит доступ к подходящим файлам драйвера.

Как скопировать драйверы видеокарты с хоста в гостевую систему Hyper-V

GPU-P сильно зависит от того, видит ли гостевая система компоненты драйвера, совпадающие с драйвером на хосте. Распространённый ручной способ — скопировать нужную папку драйвера с хоста в VM, а затем при необходимости установить обычный пакет драйвера GPU внутри гостевой Windows.

Найдите папку драйвера на хосте

На основном компьютере откройте Проводник и перейдите в:

C:\Windows\System32\DriverStore\FileRepository

Найдите папки, связанные с производителем вашей видеокарты, например:

Скопируйте файлы драйвера в VM

Передать папку можно несколькими способами:

Часто используемый путь в гостевой системе:

C:\Windows\System32\HostDriverStore\FileRepository
⚠️
Совпадение драйверов важно Если драйвер на хосте обновится, гостевая система может перестать корректно использовать GPU partition. В этом случае обновите или повторно скопируйте соответствующие файлы драйвера и перезагрузите хост и гостевую систему.

Как проверить GPU-ускорение внутри виртуальной машины Hyper-V

После запуска VM войдите в гостевую систему и проверьте, видит ли Windows путь GPU-ускорения.

Проверка в Диспетчере устройств

  1. Внутри VM нажмите Win + X и откройте Диспетчер устройств.
  2. Разверните раздел Видеоадаптеры.
  3. Проверьте, отображается ли ваша видеокарта или устройство GPU partition, а не только Microsoft Basic Display Adapter.
  4. Если есть значок предупреждения, откройте свойства устройства и проверьте код ошибки.

Проверка через средство диагностики DirectX

  1. Нажмите Win + R, введите dxdiag и нажмите Enter.
  2. Откройте вкладку Экран.
  3. Проверьте, включено ли ускорение Direct3D и корректно ли отображается название GPU.

Проверка в Диспетчере задач

Откройте Диспетчер задач внутри VM, перейдите на вкладку Производительность и проверьте активность GPU. Затем запустите приложение, умеющее использовать видеокарту: браузер с аппаратным ускорением, видеокодировщик, 3D-бенчмарк или инструмент рендеринга.

dxdiag
Get-PnpDevice -Class Display

Полный проброс видеокарты через Discrete Device Assignment: что требуется

Discrete Device Assignment — ближайший аналог традиционного PCIe passthrough в Hyper-V. Он удаляет устройство из управления хоста и подключает его к виртуальной машине. Для видеокарт это может дать более сильную изоляцию и более полный доступ к устройству, чем GPU-P, но требования и риски значительно выше.

Практические требования DDA

Типовая логика команд DDA

Команды ниже показывают общий принцип. Их не следует выполнять на случайном настольном железе, пока вы не подтвердили совместимость и не подготовили план восстановления.

$vm = "Server-GPU-VM"
$locationPath = "PCIROOT(...)#PCI(...)#PCI(...)"

Stop-VM -Name $vm -TurnOff
Set-VM -Name $vm -AutomaticStopAction TurnOff
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 3GB -VMName $vm
Set-VM -HighMemoryMappedIoSpace 33280MB -VMName $vm

Disable-PnpDevice -InstanceId "PCI\VEN_..." -Confirm:$false
Dismount-VMHostAssignableDevice -LocationPath $locationPath -Force
Add-VMAssignableDevice -LocationPath $locationPath -VMName $vm
Start-VM -Name $vm
🛑
Не экспериментируйте вслепую Отключение не того устройства может нарушить вывод изображения, работу накопителей, сети или устройств ввода на хосте. Если у вас только одна видеокарта и нет удалённого доступа, эксперименты с полным DDA могут оставить вас без рабочей консоли до восстановления через безопасный режим, удалённый PowerShell или офлайн-обслуживание.

GPU passthrough в Hyper-V не работает: частые проблемы и решения

Get-VMHostPartitionableGpu ничего не возвращает

VM запускается, но показывает Microsoft Basic Display Adapter

В Диспетчере устройств отображается код 43

Код 43 обычно означает, что драйвер не смог инициализировать видеокарту в виртуализированной среде. Используйте совпадающие файлы драйвера на хосте и в гостевой системе, избегайте очень старых драйверов и проверьте всё на свежей VM поколения 2. Некоторые сочетания потребительских GPU и драйверов просто не работают стабильно с GPU-P.

VM зависает или показывает чёрный экран

Как удалить GPU Partition Adapter

Если виртуальная машина стала нестабильной, удалите адаптер из повышенной консоли PowerShell на хосте:

Stop-VM -Name $vm -TurnOff
Remove-VMGpuPartitionAdapter -VMName $vm
Start-VM -Name $vm

Плюсы, ограничения и альтернативы проброса видеокарты в Hyper-V

✓ Преимущества

  • Позволяет VM использовать реальное GPU-ускорение вместо базового виртуального видеоадаптера.
  • Полезно для тестирования графических приложений, браузеров, видеоредакторов и ПО, чувствительного к драйверам.
  • GPU-P может позволить хосту и VM совместно использовать одну физическую видеокарту.
  • Не нужно устанавливать второй гипервизор, если Hyper-V уже используется в вашей работе.
  • Хорошо подходит для экспериментов при совместимом оборудовании и драйверах.

✗ Ограничения

  • Не является полностью поддерживаемой потребительской функцией на клиентских Windows 10/11.
  • Обновления драйверов могут ломать конфигурацию.
  • Производительность не всегда равна доступу к GPU на «голом железе».
  • Античиты, DRM и некоторые игры могут блокировать виртуализированные среды.
  • DDA требует серверного оборудования и может полностью забрать видеокарту из управления хоста.

Альтернативы GPU passthrough в Hyper-V

Альтернатива Лучше всего подходит для Примечания
Запуск нагрузки на хосте Игры, видеоредакторы, 3D-приложения Самый надёжный вариант с максимальной производительностью.
Windows Sandbox с vGPU Одноразовое тестирование программ Просто, но не подходит для постоянных тяжёлых GPU-нагрузок.
GPU-ускорение в WSL 2 Linux AI, ML, CUDA, разработка Для задач разработки часто поддерживается лучше, чем полноценная GUI-VM.
3D-ускорение VMware / VirtualBox Базовое 3D-ускорение рабочего стола Это не прямой GPU passthrough, но проще для обычных GUI-задач.
Windows Server DDA Выделенные корпоративные GPU-нагрузки Используйте поддерживаемое оборудование и документацию производителя.

Частые вопросы о пробросе видеокарты в Hyper-V

Q Можно ли пробросить NVIDIA GeForce или AMD Radeon в Hyper-V на Windows 11 Pro?
Вы можете попробовать GPU Partitioning в экспериментальном режиме, но полноценный DDA passthrough не является обычным поддерживаемым сценарием для Windows 11 Pro на потребительском настольном оборудовании. Успех зависит от видеокарты, драйвера, сборки Windows, конфигурации VM и того, как приложение использует GPU.
Q GPU-P — это то же самое, что полный проброс видеокарты?
Нет. GPU-P даёт VM доступ к разделённому ресурсу GPU, при этом хост может продолжать использовать ту же физическую видеокарту. Полный passthrough через DDA назначает всё PCIe-устройство одной VM и убирает обычный доступ хоста к нему на время подключения.
Q Нужна ли вторая видеокарта?
Для GPU-P обычно нет, потому что хост и гостевая система могут совместно использовать видеокарту. Для DDA вторая видеокарта или удалённый способ управления настоятельно рекомендуются, поскольку назначенный GPU забирается у хоста.
Q Улучшит ли это производительность игр в виртуальной машине Hyper-V?
Это может улучшить графическое ускорение по сравнению с базовым видеоадаптером Hyper-V, но не гарантирует производительность уровня физической системы. Античиты, DRM, задержка ввода, удалённый вывод изображения и поведение драйвера могут сделать игры внутри VM нестабильными.
Q Почему GPU passthrough перестал работать после обновления драйвера?
GPU-P чувствителен к совпадению драйверов. Если драйвер видеокарты на хосте изменился, в гостевой системе могут остаться старые скопированные компоненты. Повторно скопируйте соответствующую папку драйвера в VM, переустановите или восстановите драйвер в гостевой системе, удалите и заново добавьте GPU partition adapter, затем перезагрузите обе системы.
Q Можно ли использовать RemoteFX vGPU вместо этого?
Нет. RemoteFX vGPU устарела и была удалена из-за уязвимостей безопасности. Используйте GPU-P, DDA на поддерживаемом оборудовании Windows Server, GPU-ускорение WSL 2 или другой подход к виртуализации.

🧩 Итог: лучший способ использовать видеокарту в Hyper-V на Windows 10/11

На клиентских хостах Windows 10 и Windows 11 наиболее практичный подход — GPU Partitioning с командой Add-VMGpuPartitionAdapter. Он может дать виртуальной машине Windows поколения 2 доступ к GPU-ускорению, но такую настройку следует считать продвинутой и чувствительной к драйверам, а не гарантированной потребительской функцией.

Для полноценного производственного GPU passthrough используйте Windows Server Hyper-V с Discrete Device Assignment, серверное оборудование, поддерживаемые производителем видеокарты и модель доверенной VM. Для обычного пользователя лучше начинать с тестовой виртуальной машины, создавать контрольную точку, записывать рабочую версию драйвера и заранее готовить способ восстановления перед изменением параметров GPU или Hyper-V.