Hyper-V GPU-Passthrough: Ein unverzichtbarer Leitfaden für Einsteiger

In einigen Szenarien müssen Sie möglicherweise eine Grafikkarte (die eine GPU enthält), auch Grafikadapter oder Displayadapter genannt, auf einer Virtuellen Maschine verwenden. Die Verwendung einer emulierten Grafikkarte in einer virtuellen Hyper-V-Maschine reicht jedoch möglicherweise nicht für Aufgaben aus, die OpenGL, Direct3D, CUDA und andere hardwarebezogene Funktionen nutzen. Glücklicherweise ist es möglich, eine physische Grafikkarte an eine VM auf einem Hyper-V-Host anzuschließen, indem Sie die Hyper-V-GPU-Passthrough-Funktion verwenden.

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Was ist GPU-Passthrough?

GPU-Passthrough ist eine Funktion, mit der Sie eine auf einem physischen Host installierte physische Grafikkarte ohne Emulation an eine Virtuelle Maschine verbinden können. Dadurch kann die Virtuelle Maschine einen physischen Grafikadapter direkt verwenden.

Standardmäßig verwenden virtuelle Hyper-V-Maschinen eine emulierte Grafikkarte, die auf die CPU des Hyper-V-Hosts angewiesen ist. Dieser Ansatz ermöglicht es Benutzern jedoch nur, die grundlegendsten Aufgaben zu erledigen, reicht aber für Aufgaben, die eine höhere Leistung bei der Grafik erfordern, nicht aus.

HINWEIS: Eine GPU kann in den Chipsatz einer Hauptplatine oder in eine Zentraleinheit (CPU), auch Prozessor genannt, integriert werden (für die neuesten Intel-Prozessorgenerationen und die zugehörige Architektur). Eine Hochleistungs-GPU ist ein Chip auf einer diskreten Grafikkarte, die über die PCI Express-Schnittstelle (PCIe) mit dem Motherboard verbunden ist.

Wesentliche Vorteile von GPU-Passthrough in Hyper-V

Eine physische Grafikkarte, die über GPU-Passthrough in einer virtuellen Hyper-V-Maschine angeschlossen ist, kann von Privatanwendern, Entwicklern, Designern und andere in bestimmten Szenarien verwendet werden. Die häufigsten Szenarien sind:

  • Ausführen von Anwendungen mit grafikintensiven Workloads (Grafikdesign, 3D-Modellierung, AutoCAD-Zeichnungen, Konstruktion und Berechnungen, Spieledesign und Spieleentwicklung usw.). Verwenden von hardwarebeschleunigtem Rendering.
  • Ausführen von Spielen mit Hardwarebeschleunigungsfunktionen. Einige Spiele funktionieren möglicherweise nicht ohne eine physische Grafikkarte.
  • Ausführen von Anwendungen für maschinelles Lernen (ML) und künstliche Intelligenz (KI) mit einer GPU.

Die Vorteile des GPU-Passthrough-Modus sind:

  • Bessere Grafikleistung mit VMs, die für grafikintensive Anwendungen oder Spiele direkt auf eine Grafikkarte zugreifen. Die Videowiedergabe ist flüssiger. Hardwarebeschleunigte Grafik und die neuesten APIs sind verfügbar.
  • Flexible Nutzung von Hardware-Ressourcen. Verwendung eines Hyper-V-Hosts für mehrere VMs mit ungleichmäßigen grafikintensiven Aufgaben in Verwendungsfällen, in denen die Verwendung dedizierter Arbeitsstationen nicht optimal ist.
  • Kosteneffizienz. GPU-Passthrough kann in einigen Verwendungsfällen Kosten sparen, insbesondere in Bezug auf die Nutzung von Hardware-Ressourcen. Diese Funktion kann auch für eine virtuelle Desktop-Infrastruktur (VDI) verwendet werden.
  • Sicherheit. Die Sicherheitsvorteile ähneln denen der Virtualisierung im Allgemeinen. Wenn Schwachstellen in VMs ausgenutzt werden, laufen die VMs in einer isolierten Umgebung, und es gibt mehr Möglichkeiten, das Problem zu beheben. Bei schwerwiegenden Problemen ist es möglich, VMs schnell aus einem Backup wiederherzustellen.

Anforderungen

Um eine VM mit GPU-Passthrough auf einem Hyper-V-Host zu konfigurieren, müssen Sie bestimmte Hardware- und Softwareanforderungen erfüllen. Nicht alle Grafikkarten können für diese Funktion verwendet werden.

Hardware-Spezifikationen für GPU-Passthrough

  • Die CPU auf dem Hyper-V-Host muss Intel-VT- oder AMD-V-Virtualisierungsfunktionen unterstützen. Die entsprechende Virtualisierungsfunktion muss für Ihren Prozessor auf Ihrem Hyper-V-Host in den UEFI/BIOS-Einstellungen aktiviert sein.
  • Die Input-Output Memory Management Unit (IOMMU) muss von der CPU auf dem Hyper-V-Host unterstützt werden. Diese Funktion ist für PCI-Passthrough erforderlich, einschließlich Grafikkarten- oder GPU-Passthrough.
  • Eine Grafikkarte mit einer GPU, die GPU-Virtualisierungstechnologien wie NVIDIA GRID oder AMD MxGPU (Multiuser GPU) unterstützt. Diese Technologien sind von den Anbietern herstellerspezifisch definiert. Die Verwendung von Hardware der Serverklasse verbessert die Erfolgsraten. Ältere Geräte, die PCI-Interrupts (INTx) verwenden, werden nicht unterstützt.
  • SR-IOV (Single Root Input/Output Virtualization) sollte unterstützt und aktiviert sein, um Fehler zu vermeiden.

Softwareanforderungen für Hyper-V Passthrough

  • Windows Server 2016 oder spätere Windows Server-Version (bevorzugt)
  • Windows 10 oder Windows 11
  • Die Hyper-V-Rolle (Funktion) muss in Windows aktiviert sein.
  • Die neuesten Grafiktreiber müssen auf dem Hyper-V-Host und dem VM-Gast mit GPU-Passthrough installiert sein.
  • Für GPU-Passthrough mit DDA dürfen nur Hyper-V-VMs der Generation 2 verwendet werden.

Einschränkungen und nicht unterstützte Konfigurationen

Beachten Sie die Konfigurationen, die nicht keinen Support für die Verwendung von GPU-Passthrough haben:

  • VMs, die Hyper-V Dynamic Memory verwenden, d. h. die Funktion zum Zuweisen und Freigeben von RAM für eine VM nach Bedarf, können GPU-Passthrough nicht verwenden.
  • GPU-Passthrough ist nur in den höchsten Windows-Ausgaben verfügbar, z. B. Windows Server 2019 Datacenter.
  • Wenn Windows Subsystem for Linux auf dem Hyper-V-Host bereitgestellt wird, kann auf der VM ein Fehler mit dem Code 43 auftreten.
  • Clustering-Funktionen wie Hochverfügbarkeit und Live-Migration von VMs werden nicht unterstützt.
  • Speichern und Wiederherstellen mit VM-Checkpoints werden nicht unterstützt.

Einrichten von GPU-Passthrough: Was Sie wissen müssen

Sie sollten sich bewusst sein, dass die Konfiguration von GPU-Passthrough komplexer sein kann als die meisten regulären VM-Konfigurationsaufgaben. Die Skalierbarkeit virtueller Umgebungen ist bei Verwendung von GPU-Passthrough nicht so hoch wie bei Verwendung der Standardmethode für die Grafikkartenemulation. Sie können VMs mit der GPU-Passthrough-Funktion nicht zwischen Hyper-V-Hosts migrieren, da diese VMs an physische Grafikkarten gebunden sind, die im Host installiert sind.

Bis Windows Server 2016 wurde die RemoteFX-Funktion für GPU-Passthrough zu Virtuellen Maschinen verwendet. Nach Windows Server 2019 und Windows 10 Build 1809 ist die RemoteFX-Funktion nicht mehr verfügbar, und nur Hyper-V Direct Device Assignment (DDA) kann verwendet werden, um eine Grafikkarte weiterzuleiten, ähnlich wie bei anderen PCI/PCIe-Geräten, einschließlich NVMe-Speichergeräten. DDA ist das Analogon zu VMware PCI Passthrough.

RemoteFX ist eine Erweiterung für RDP (Microsoft Remote Display Protocol), die zum Verbinden von USB-Geräten (die an den Host angeschlossen sind) mit einer virtuellen Maschine verwendet wird. RemoteFX vGPU wurde entsprechend für Grafikkarten verwendet. RemoteFX ermöglichte das Teilen einer GPU für mehrere VMs, was mit Discrete Device Assignment nicht möglich ist. RemoteFX beschränkte außerdem die Menge an dediziertem Videospeicher auf 1 GB für jede VM und die maximale FPS auf 30. Bei DDA gibt es keine solche Begrenzung des Videospeichers, und die FPS können auf 60 eingestellt werden.

Wenn Sie Windows Server 2016 Datacenter oder andere Windows-Versionen und -Ausgaben verwenden, die Support für RemoteFX hatten, können Sie ein Windows-Update installieren, um diese Funktion vollständig aus Hyper-V zu entfernen und potenzielle Sicherheitslücken zu vermeiden. Die offizielle Version von Microsoft lautet, dass RemoteFX entfernt wurde, um architektonische Hyper-V-Sicherheitslücken zu vermeiden. RemoteFX war für virtuelle Umgebungen mit hoher Dichte attraktiv, in denen es nicht möglich war, jeder VM eine dedizierte physische Grafikkarte zuzuweisen. Beachten Sie, dass DDA auf Windows Server-Versionen funktioniert (nicht auf Client-Versionen wie Windows 10).

Die GPU-Partitionierung in PowerShell kann eine Lösung für Windows-Client-Versionen sein, aber das Kopieren von Grafiktreibern vom Host-Betriebssystem auf ein Gastbetriebssystem (das mit dem Host-Betriebssystem identisch sein muss) ist schwierig. Es müssen VMs der Generation 2 verwendet werden. In diesem Fall muss die Grafikkarte die GPU-Partitionierung unterstützen.

Konfigurieren von GPU-Passthrough in Hyper-V

Befolgen Sie die folgenden Schritte, um die Umgebung vorzubereiten und Hyper-V GPU-Passthrough zu konfigurieren.

Vorbereiten der Konfiguration von GPU-Passthrough

  1. Stellen Sie sicher, dass Ihre Hardware und Software GPU-Virtualisierung unterstützen.
  2. Aktivieren Sie die Intel VT-d- oder AMD-V-Virtualisierungsfunktionen für Ihre CPU in UEFI/BIOS auf dem Hyper-V-Host.
  3. Aktivieren Sie IOMMU. Die IOMMU-Einstellung kann auf verschiedenen Motherboards mit unterschiedlichen UEFI/BIOS-Versionen auf unterschiedliche Weise aktiviert werden. Manchmal befindet sich diese Einstellung am Standort der North-Bridge-Konfiguration. Oder IOMMU kann aktiviert werden, wenn Sie Intel VT-d oder AMD-V aktivieren. Überprüfen Sie die Funktion „Memory Remap” in UEFI/BIOS.

    Sie können mit dem PowerShell-Befehl (als Administrator) überprüfen, ob IOMMU auf einem Hyper-V-Hostcomputer aktiviert ist:

    (Get-VMHost).IovSupport; (Get-VMHost).IovSupportReasons

    True – aktiviert; False – deaktiviert.

  4. Entfernen Sie alle Prüfpunkte für die VM, die Sie mit GPU-Passthrough konfigurieren möchten.

    Wenn automatische Checkpoints für die VM aktiviert sind, können Sie diese mit dem PowerShell-Befehl deaktivieren:

    Set-VM -Name VMName -AutomaticStopAction TurnOff

GPU-Passthrough in Windows Server

  1. Um den Cache und die Grenzen für den 32-Bit-MIMO-Speicherplatz (3 GB für 32-Bit-Betriebssysteme) festzulegen, führen Sie diesen PowerShell-Befehl als Administrator aus:

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

    Alternativ können Sie drei separate Befehle verwenden:

    Set-VM -GuestControlledCacheTypes $true -VMName YourVMName

    Set-VM -LowMemoryMappedIoSpace 3Gb -VMName YourVMName

    Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName YourVMName

    Diese Grenzwerte definieren den Speicher, der das Gerät für die VM zugänglich macht. Sie können ein Maschinenprofilskript von Microsoft verwenden, um die genauesten MIMO-Grenzwerte festzulegen. Die optimalen Werte können für verschiedene Grafikkarten unterschiedlich sein. Wenn Sie beim Starten einer VM die Meldung erhalten, dass nicht genügend Ressourcen vorhanden sind, sollten Sie die VM herunterfahren und diese Werte ändern. 33280 MB werden für einen MIMO-Speicherplatz von mehr als 32 Bit verwendet.

  2. Überprüfen Sie die physische Adresse des PCI Express-Geräts (den Standort des Geräts), das die erforderliche Grafikkarte ist, die Sie weitergeben möchten.

    Dies kann im Geräte-Manager erfolgen. Sie können den Geräte-Manager öffnen, indem Sie den Befehl devmgmt.msc ausführen. Im Geräte-Manager:

    • Klicken Sie mit der rechten Maustaste auf den gewünschten Grafikadapter im Abschnitt „Grafikadapter“ und wählen Sie im Kontextmenü „ Eigenschaften“ .
    • Wählen Sie die Registerkarte „ <“ ( ) >„Details“ (Details) im Fenster „Adaptereigenschaften“ (Adapter properties).
    • Wählen Sie die Eigenschaft „ <“ ( ) >„Location paths“ (Speicherpfade) im Dropdown-Menü und kopieren Sie den Wert (die Werte können für jeden Computer unterschiedlich sein).

      Viewing a location path of a video card

    Sie können auch PowerShell verwenden, um den Standortpfad eines Geräts zu identifizieren:

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

    und

    Get-PnpDevice -Class Display | ForEach-Object { Write-Output "$($_.FriendlyName) has a device id of $($_.DeviceId) and is located at $($_ | Get-PnpDeviceProperty DEVPKEY_Device_LocationPaths | Select-Object -ExpandProperty Data | Where-Object { $_ -like "PCIROOT*" })"; }

    Die Ausgabe sollte eine Zeichenfolge wie diese enthalten:

    ‚PCIROOT(0)#PCI(0300)#PCI(0000)‘

    Identifying the location path of the video card in PowerShell

  3. Deaktivieren Sie diese Grafikkarte im Geräte-Manager. Klicken Sie mit der rechten Maustaste auf den Grafikadapter und wählen Sie im Kontextmenü „Gerät deaktivieren“ ( <). >Deaktivieren Sie das Gerät „<“ (> ) im Kontextmenü.

    Disabling a video card in a Device Manager

  4. Deaktivierten Grafikadapter in PowerShell deaktivieren:

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

    Wo:

    -Force ist erforderlich, wenn kein Partitionstreiber (optional) installiert ist. Dies ist kein Treiber für eine Grafikkarte, die in einem Gastbetriebssystem installiert ist. Manchmal kann ein Anbieter diesen Treiber zur Minderung der Sicherheit für ein Gerät bereitstellen. Wenn Sie diesen Treiber installieren möchten, sollten Sie dies tun, bevor Sie das PCI Express-Gerät von der Host-Partition trennen.

    Der in diesem Befehl verwendete Standort dient nur zur Veranschaulichung. Sie sollten Ihren spezifischen Wert verwenden.

  5. Führen Sie den Befehl aus, um diese Grafikkarte einer virtuellen Maschine mit GPU-Passthrough über DDA zuzuweisen:

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

  6. Schalten Sie die VM ein und überprüfen Sie, ob eine physische Grafikkarte im Geräte-Manager der Microsoft Hyper-V-VM zusammen mit dem standardmäßig emulierten Grafikadapter namens Microsoft Hyper-V Video angezeigt wird.
  7. Installieren Sie die Treiber für die Grafikkarte auf dem Gastbetriebssystem der VM. Sie können die Grafiktreiber auf der offiziellen Website von NVIDIA oder AMD herunterladen.
  8. Wenn Sie die Grafikkarte von der VM trennen möchten, stoppen Sie die VM und verwenden Sie den folgenden Befehl auf dem Host:

    Remove-VMAssignableDevice -VMName YourVMName -LocationPath $locationPath

    Führen Sie weiter den folgenden Befehl aus, um die Grafikkarte wieder mit dem Hyper-V-Host zu verbinden:

    Mount-VMHostAssignableDevice -LocationPath $locationPath

Konfiguration in Windows 10

Bei Client-Windows-Versionen wie Windows 10 und Windows 11 (ab Windows 10 Build 1903) unterscheidet sich der Workflow zur Konfiguration von Hyper-V GPU-Passthrough und ist von der GPU-Partitionierungsmethode abhängig:

  1. Überprüfen Sie mit dem PowerShell-Befehl, ob Ihre Grafikkarte GPU-Partitionierung in Windows 10 unterstützt:

    Get-VMPartitionableGpu

    In Windows 11 lautet der Befehl:

    Get-VMHostPartitionableGpu

  2. Für das GPU-Passthrough zu einer Virtuellen Maschine wird das Add-VMGpuPartitionAdapter Cmdlet verwendet. Sie müssen jedoch die Grafiktreiber vom Hyper-V-Hostcomputer auf die Virtuelle Maschine kopieren. Beachten Sie, dass die Version identisch sein muss. Ein kostenloses Easy-GPU-PV Skript kann zum Kopieren von Treibern verwendet werden, da dies ein schwieriger Vorgang ist. Herunterladen Sie dieses Skript in einer ZIP-Datei und extrahieren Sie den Inhalt des ZIP-Archivs in einen Ordner auf dem Hyper-V-Host. Dieses Skript kann GPU-Paravirtualisierung nutzen, indem es Mechanismen verwendet, die für Windows Subsystem for Linux (WSL2) und Windows Sandbox verwendet werden.
  3. Öffnen Sie PowerShell als Administrator und führen Sie den Befehl aus, um die Skriptausführung zuzulassen:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

  4. Fahren Sie die VM herunter. Führen Sie das Skript von dem Ordner aus, in den das heruntergeladene Skript extrahiert wurde, um die installierten Grafiktreiber vom Hyper-V-Host auf die VM zu kopieren und die Treiber auf der VM zu installieren:

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

  5. Konfigurieren Sie die VM für GPU-Passthrough und die Zuordnung von Grafikkarten:

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

    Add-VMGpuPartitionAdapter -VMName YourVMName

    • Wenn Sie die Grafiktreiber auf einem Hyper-V-Host aktualisieren, müssen Sie auch die Grafiktreiber auf der VM aktualisieren. Die VM muss ausgeschaltet sein.

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

    • Wenn Sie eine Grafikkarte von der VM entfernen müssen, können Sie den folgenden Befehl verwenden:

      Remove-VMGpuPartitionAdapter -VMName "YourVMName"

Wenn die Grafikkarte erfolgreich mit der VM verbunden wurde, sollte der entsprechende Grafikadapter im Geräte-Manager der VM angezeigt werden. Außerdem werden visuelle Effekte für das Windows-Desktop-Thema des Gastbetriebssystems angezeigt, z. B. Transparenz,

Beachten Sie, dass einige Spiele und Anwendungen möglicherweise auch nach der Konfiguration von GPU-Passthrough nicht ausgeführt werden können. Dies kann passieren, wenn eine Anwendung zwangsweise eine Kompatibilitätsprüfung der Grafikkarte durchführt. Die Informationen über die angeschlossene Grafikkarte im Gastbetriebssystem unterscheiden sich von den Informationen im Hostbetriebssystem. Einige Anwendungen können die Überprüfung „Ausführung in einer VM“ durchführen.

Wenn Anwendungen, die OpenGL verwenden, in der VM nicht funktionieren, kann in einigen Fällen die Installation von OpenGL Compatibility Pack helfen.

Bei Verwendung der GPU-Partitionierungsmethode für Windows 10 und Windows 11 unterscheidet sich das im Geräte-Manager angezeigte Grafikkartenmodell von dem physischen Grafikkartenmodell, das auf dem Hyper-V-Host angezeigt wird. Sie können einen speziellen Microsoft-Treiber für dieses Gerät sehen. Anbieter-Spezifische Tools wie das NVIDIA-Kontrollfeld (oder AMD-Kontrollfeld) sind in der VM nicht verfügbar.

Ein weiteres Problem, das auftreten kann, tritt auf, wenn Sie eine RDP-Verbindung schließen, ohne die Verbindung zu einer RDP-Sitzung zu trennen. In diesem Fall kann der gesamte GPU-Speicher getrennt werden, und alle Anwendungen, die die GPU verwenden, benachrichtigen Sie über einen nicht zugänglichen Videospeicher. Diese Anwendungen arbeiten in diesem Fall nicht mehr, und eine erneute Verbindung über RDP behebt das Problem nicht. Die Anwendungen, die die GPU verwenden, müssen neu gestartet werden.

Fehlerbehebung bei Problemen mit GPU-Passthrough

Wenn Sie Hyper-V GPU-Passthrough konfiguriert und eine Grafikkarte an eine VM verbunden haben, die Grafikkarte jedoch nicht ordnungsgemäß arbeitet, überprüfen Sie Folgendes:

  • Stellen Sie sicher, dass die neuesten Grafiktreiber installiert sind und keine treiberbezogenen Fehler vorliegen. Öffnen Sie den Geräte-Manager und überprüfen Sie den Status des Geräts und des Treibers. Sie müssen Treiber herunterladen, die Sie von den offiziellen Websites der Anbieter (NVIDIA, AMD, Intel) heruntergeladen haben, und dürfen nicht Windows Update verwenden.
  • Stellen Sie sicher, dass Sie Ihrer VM genügend MIMO-Speicherplatz zugewiesen haben.
  • Überprüfen Sie, ob die GPU-Passthrough-Konfiguration vom Anbieter Ihres Grafikadapters unterstützt wird. Nicht alle Grafikkarten der Kundenserie unterstützen diese Funktion. Anbieter können es vorziehen, GPU-Passthrough nur für Top-Grafikkarten zu aktivieren.
  • Eine in einer VM ausgeführte Anwendung muss Ihre Grafikkarte und deren Treiber unterstützen, um ordnungsgemäß zu arbeiten.
  • Aktivieren Sie eine Gruppenrichtlinie, um die GPU zu verwenden, wenn Sie über Remote Desktop eine Verbindung zu einer VM herstellen:

    Computer ConfigurationAdministrator TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session EnvironmentUse hardware graphics adapters for all Remote Desktop Services sessions

    Setzen Sie den Wert der Gruppenrichtlinie auf Aktiviert.

  • Wenn Sie eine Fehlermeldung wie „TDie Operation ist fehlgeschlagen, da das Objekt nicht gefunden wurde” oder Fehler 12sehen, versuchen Sie, die Registrierungsschlüssel in

    HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsHyperV

    mit den Werten:

    RequireSecureDeviceAssignment = 0 (REG_DWORD)

    RequireSupportedDeviceAssignment = 0 (REG_DWORD)

    Sie können diese Werte mit PowerShell-Befehlen festlegen:

    Set-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsHyperV" -Name "RequireSecureDeviceAssignment" -Type DWORD -Value 0 -Force

    Set-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsHyperV" -Name "RequireSupportedDeviceAssignment" -Type DWORD -Value 0 -Force

  • Deaktivieren Sie die Hypervisor-Prüfungen für Grafiktreiber innerhalb der VM. Diese Konfiguration kann in Enterprise Windows Driver Kit (WDK) vorgenommen werden.
    • Mounten Sie die WDK-ISO-Datei auf das virtuelle DVD-Laufwerk der VM.
    • Führen Sie E:LaunchBuildEnv.cmd (wobei E: ein virtuelles DVD-Laufwerk der VM ist) und führen Sie dann den Befehl powershell aus.
    • Wechseln Sie in das Verzeichnis, in dem sich das Skript Remove-HypervisorChecks.ps1 befindet.
    • Führen Sie den Befehl aus, um die Hypervisor-Prüfungen für einen Grafiktreiber zu entfernen (am Beispiel von NVIDIA):

      ./Remove-HypervisorChecks.ps1 -Nvidia -DriverPath "C:path-to-driverpackage.exe"

    • Warten Sie, bis die Skriptausführung abgeschlossen ist.
    • Kopieren Sie den vorbereiteten Treiber (eine patched-driver.zip Datei) in die Virtuelle Maschine, aktivieren Sie den Testmodus auf der Virtuellen Maschine und installieren Sie den Treiber in einem Gastbetriebssystem.
  • Wenn Sie auf Fehler 43stoßen, stellen Sie sicher, dass die GPU und der Sound-PCI-Bus (NVIDIA-Grafikkarten können auch Sound-Funktionen haben) bei Verwendung von GPU-Passthrough in der Virtuellen Maschine behalten werden.
  • Wenn beim Ausführen des Befehls der folgende Fehler angezeigt wird:

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

    Dieser Fehler kann durch mehrere Partitionen (Volumes) auf einer virtuellen Festplatte verursacht werden. Versuchen Sie, das Attribut „versteckt” für Nicht-System-Partitionen (OS) festzulegen, oder löschen Sie diese Partitionen vorübergehend, nach dem Kopieren der erforderlichen Daten. Eine alternative Option besteht darin, die erforderliche System (OS)-Partition explizit im PowerShell-Skript oder -Befehl festzulegen.

Fazit

Die Verwendung einer virtuellen Maschine mit GPU-Passthrough auf einem Hyper-V-Host kann in einigen Verwendungsfällen die optimale Lösung sein, aber beachten Sie die Einschränkungen. Für die Verwendung einer diskreten Grafikkarte auf Virtuellen Maschinen werden in der Regel Server-Hardware und Windows Server-Betriebssysteme bevorzugt. Überprüfen Sie vor Beginn der Konfiguration, welche Software und Hardware unterstützt werden. Vergessen Sie nicht, Hyper-V-VMs zu sichern, um Daten- und Zeitverluste zu vermeiden, falls bei der Konfiguration einer Grafikkarte für VMs etwas schiefgeht.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Empfohlene Artikel