如何在 Hyper-V 虛擬機中啟用 GPU 直通
GPU 直通允許虛擬機 (VM) 直接訪問物理顯卡,從而顯著提高圖形密集型應用程序的性能。本指南將引導您完成在 Microsoft 內置虛擬化平台 Hyper-V 中設置 GPU 直通的過程。
在開始之前,請確保您的系統滿足以下要求:
- 支持 Intel VT-d 或 AMD-V 虛擬化技術的處理器。
- CPU 中的 IOMMU(輸入輸出內存管理單元)支持。
- 支持虛擬化的 GPU(例如 NVIDIA GRID 或 AMD MxGPU)。
- Windows Server 2016 或更高版本,或者 Windows 10/11 專業版或企業版。
- 已安裝並配置 Hyper-V 角色。
- 僅限第 2 代虛擬機。
重要的:GPU 直通與某些 Hyper-V 功能(例如實時遷移、檢查點或動態內存分配)不兼容。
啟用硬件虛擬化
步驟一:重新啟動計算機並輸入 BIOS/UEFI 設置(通常在啟動過程中按 F2、Del 或其他鍵)。
步驟2:尋找名為“虛擬化技術”、“Intel VT-d”、“AMD-V”或類似名稱的選項。啟用此設置。
步驟3:保存更改並退出 BIOS/UEFI。您的計算機將重新啟動。
第4步:Windows 啟動後,以管理員身份打開 PowerShell 並運行以下命令來驗證 IOMMU 支持:
(Get-VMHost).IovSupport
如果返回“True”,則 IOMMU 已啟用,您可以繼續。如果它是“False”,您可能需要在 BIOS 中啟用它,否則您的硬件可能不支持它。
準備虛擬機
步驟一:打開 Hyper-V 管理器並選擇您的目標 VM。
閱讀更多:如何將物理 GPU 分配(直通)到 Hyper-V 虛擬機
步驟2:右鍵單擊虛擬機並選擇“設置”。
步驟3:在“檢查點”下,選擇“禁用檢查點”以確保與 GPU 直通的兼容性。
第4步:在 PowerShell 中,運行以下命令將 VM 配置為 GPU 直通,並將“YourVMName”替換為您的實際 VM 名稱:
Set-VM -Name "YourVMName" -AutomaticStopAction TurnOff
Set-VM -Name "YourVMName" -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 1Gb -HighMemoryMappedIoSpace 32Gb
在 Windows 10/11 上設置 GPU 直通
步驟一:通過運行以下 PowerShell 命令檢查您的 GPU 是否支持分區:
# For Windows 10
Get-VMPartitionableGpu
# For Windows 11
Get-VMHostPartitionableGpu
步驟2:從 GitHub 下載 Easy-GPU-PV 腳本:Easy-GPU-PV 存儲庫
步驟3:將 ZIP 文件解壓縮到方便的位置。
第4步:以管理員身份打開 PowerShell 並導航到提取的文件夾。運行這些命令:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
.Update-VMGpuPartitionDriver.ps1 -VMName "YourVMName" -GPUName "AUTO"
第5步:使用以下命令將 GPU 添加到您的虛擬機:
Add-VMGpuPartitionAdapter -VMName "YourVMName"
在 Windows Server 上設置 GPU 直通
步驟一:以管理員身份打開 PowerShell 並運行以下命令來配置 VM:
Set-VM -Name "YourVMName" -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 3Gb -HighMemoryMappedIoSpace 33280Mb
步驟2:使用以下命令識別 GPU 的 PCI 地址:
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*" })";
}
步驟3:在設備管理器中禁用 GPU。
第4步:從主機系統卸載 GPU,將“PCIROOT(0)#PCI(0200)”替換為 GPU 的實際 PCI 地址:
Dismount-VmHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0200)" -Force
第5步:將 GPU 分配給您的 VM:
Add-VMAssignableDevice -VMName "YourVMName" -LocationPath "PCIROOT(0)#PCI(0200)"
第6步:啟動 VM 並在虛擬機中安裝適當的 GPU 驅動程序。
驗證 GPU 直通
步驟一:啟動您的虛擬機並登錄。
步驟2:打開虛擬機中的設備管理器,然後檢查“顯示適配器”。您應該會看到列出的物理 GPU。
步驟3:如果尚未安裝最新的 GPU 驅動程序,請從製造商的網站安裝。
第4步:運行 GPU 密集型應用程序或基準測試工具來驗證直通是否正常工作。
配置 GPU 直通後,您的 Hyper-V 虛擬機現在可以直接訪問物理 GPU,從而顯著提高圖形性能。此設置非常適合在虛擬環境中運行資源密集型應用程序,例如 CAD 軟件、視頻編輯工具,甚至遊戲。
