Блог

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

Ранее, начиная с Windows 7/Windows Server 2008R2, проброс дискретной видеокарты с хоста в виртуальную машину Hyper-V осуществлялся с помощью технологии RemoteFX vGPU. Однако, начиная с Windows 10 версии 1809 и Windows Server 2019, поддержка RemoteFX была отключена, и вместо нее появилась новая технология — Discrete Device Assignment (DDA).

Приобрести оригинальные ключи активации Windows Server всегда можно у нас в каталоге, от 1090 ₽

Проброс видеокарты в виртуальную машину на Windows Server с Hyper-V

Технология Discrete Device Assignment (DDA) позволяет пробросить PCI/PCIe устройства (включая GPU и NVMe) с хоста на виртуальную машину. В VMware аналогом этой функции является VMware PCI Passthrough (VMDirectPath). Для успешного использования DDA необходимо соблюсти следующие условия:

— DDA доступен только для виртуальных машин второго поколения (Gen 2);

— ВМ не должна использовать динамическую память и чекпоинты;

— Физическая видеокарта должна поддерживать технологию GPU Partitioning;

— SR-IOV не является обязательным требованием, но без его поддержки проброс GPU может работать некорректно.

Шаг 1: Настройка виртуальной машины и системы

1. Отключите автоматическое создание снапшотов:

Set-VM -Name VMName -AutomaticStopAction TurnOff

2. Настройте кэш и лимиты памяти для 32-разрядного адресного пространства MMIO:

Set-VM -Name VMName -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 3Gb -HighMemoryMappedIoSpace 33280Mb

Шаг 2: Получение PCI пути к видеокарте

Для того чтобы пробросить GPU в ВМ, нужно получить физический путь к PCIe устройству видеокарты на хосте Hyper-V. Сделать это можно через диспетчер устройств или через PowerShell:

— Откройте диспетчер устройств, перейдите на вкладку Сведения, выберите Путь к расположению, и скопируйте значение, которое начинается с PCIROOT.

— Либо используйте PowerShell:

Get-PnpDevice | Where-Object {$_.Present -eq $true} | Where-Object {$_.Class -eq "Display"} | select Name, InstanceId

Шаг 3: Отключение видеокарты на хосте Hyper-V

Отключите видеокарту на сервере Hyper-V с помощью диспетчера устройств или через PowerShell:

Dismount-VmHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0300)#PCI(0000)" –force

Шаг 4: Проброс видеокарты в виртуальную машину

Пробросьте видеокарту в ВМ с помощью команды:

Add-VMAssignableDevice -VMName VMName -LocationPath "PCIROOT(0)#PCI(0300)#PCI(0000)"

Запустите ВМ и проверьте, что видеокарта появилась в диспетчере устройств внутри ВМ в разделе Видеоадаптеры.

Шаг 5: Отключение GPU от ВМ

Чтобы отключить GPU от ВМ и вернуть его на хост, выполните следующие команды:

Remove-VMAssignableDevice -VMName VMName -LocationPath $locationPath
Mount-VMHostAssignableDevice -LocationPath $locationPath

Использование GPU в виртуальных машинах Hyper-V на Windows 10/11

Для десктопных версий Windows 10/11 используется технология GPU Partitioning (GPU-P). Этот метод позволяет использовать разделение GPU между виртуальными машинами.

1. Проверьте поддержку вашей видеокарты для режима GPU Partitioning:

Get-VMPartitionableGpu — (для Windows 10)

Get-VMHostPartitionableGpu — (для Windows 11)

2. Для проброса видеокарты в ВМ используйте командлет:

Add-VMGpuPartitionAdapter -VMName VMName

3. Чтобы скопировать драйвера видеокарты с хоста в ВМ, используйте скрипт Easy-GPU-PV.

Скачайте его с GitHub, распакуйте и выполните в PowerShell:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass –Force

.\Update-VMGpuPartitionDriver.ps1 -VMName VMName -GPUName "AUTO"

Этот скрипт скопирует драйвера с хоста в ВМ.

Шаг 4: Настройка ВМ для проброса GPU

Настройте ВМ для работы с GPU Partitioning:

Set-VM -VMName VMName -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 1Gb -HighMemoryMappedIoSpace 32Gb
Add-VMGpuPartitionAdapter -VMName VMName

Если вы обновляете драйвера на хосте Hyper-V, вам нужно также обновить их в ВМ:

.\Update-VMGpuPartitionDriver.ps1 -VMName VMName -GPUName "AUTO"

Заключение

Использование Discrete Device Assignment (DDA) на серверных версиях Windows и GPU Partitioning на десктопных версиях позволяет пробросить видеокарту в виртуальные машины Hyper-V для различных задач, включая графически интенсивные вычисления и виртуализацию.

banner for Windows Server
Купить ключ активации Windows Server от
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии