Chuyển tiếp GPU trên Hyper-V: Hướng dẫn cơ bản dành cho người mới bắt đầu
Trong một số trường hợp, bạn có thể cần sử dụng một card đồ họa (chứa GPU), còn được gọi là bộ điều hợp đồ họa hoặc bộ điều hợp hiển thị, trên một máy ảo. Tuy nhiên, việc sử dụng card đồ họa mô phỏng trong máy ảo Hyper-V có thể không đủ để thực hiện các tác vụ sử dụng OpenGL, Direct3D, CUDA và các tính năng liên quan đến phần cứng khác. May mắn thay, bạn có thể gắn một card đồ họa vật lý vào máy ảo trên máy chủ Hyper-V bằng cách sử dụng tính năng truyền qua GPU của Hyper-V.
GPU Passthrough là gì?
GPU Passthrough là tính năng cho phép bạn kết nối một card đồ họa vật lý được cài đặt trên máy chủ vật lý với một máy ảo mà không cần mô phỏng. Nhờ đó, máy ảo có thể sử dụng trực tiếp card đồ họa vật lý.
Theo mặc định, các máy ảo Hyper-V sử dụng một card đồ họa mô phỏng, dựa vào CPU của máy chủ Hyper-V. Tuy nhiên, phương pháp này chỉ cho phép người dùng thực hiện các tác vụ cơ bản nhất nhưng không đủ cho các tác vụ yêu cầu hiệu năng đồ họa cao hơn.
LƯU Ý: Một GPU có thể được tích hợp vào bộ điều khiển chipset trên bo mạch chủ hoặc vào bộ xử lý trung tâm (CPU), còn được gọi là bộ xử lý (đối với các thế hệ bộ xử lý Intel mới nhất và kiến trúc liên quan). GPU hiệu suất cao là một chip trên thẻ video rời được gắn vào bo mạch chủ thông qua giao diện PCI Express (PCIe).
Lợi ích chính của GPU Passthrough trong Hyper-V
Thẻ đồ họa vật lý được kết nối qua GPU Passthrough trong máy ảo Hyper-V có thể được sử dụng bởi người dùng gia đình, nhà phát triển, nhà thiết kế và những người khác trong các tình huống cụ thể. Các tình huống phổ biến nhất là:
- Chạy các ứng dụng sử dụng khối lượng công việc đồ họa nặng (thiết kế đồ họa, mô hình 3D, vẽ AutoCAD, kỹ thuật và tính toán, thiết kế và phát triển trò chơi, v.v.). Sử dụng kết xuất được tăng tốc bằng phần cứng.
- Chạy các trò chơi có tính năng tăng tốc phần cứng. Một số trò chơi có thể không hoạt động nếu không có card đồ họa vật lý.
- Chạy các ứng dụng học máy (ML) và trí tuệ nhân tạo (AI) bằng GPU.
Các lợi ích của chế độ GPU passthrough là:
Better graphics performancecho phép các máy ảo (VM) truy cập trực tiếp vào card đồ họa cho các ứng dụng hoặc trò chơi đòi hỏi đồ họa cao. Việc phát video mượt mà hơn. Đồ họa được tăng tốc phần cứng và các API mới nhất có sẵn.Flexible utilization of hardware resources. Sử dụng một máy chủ Hyper-V cho nhiều máy ảo (VM) với các tác vụ đồ họa không đồng đều trong trường hợp sử dụng các trạm làm việc chuyên dụng không phải là lựa chọn tối ưu.Cost-efficiency. Chức năng GPU passthrough có thể tiết kiệm chi phí trong một số tình huống, đặc biệt là về mặt sử dụng tài nguyên phần cứng. Tính năng này cũng có thể được sử dụng cho cơ sở hạ tầng máy tính để bàn ảo (VDI).Security. Các lợi thế về bảo mật tương tự như của ảo hóa nói chung. Nếu các lỗ hổng bảo mật bị khai thác trong các máy ảo, các máy ảo này chạy trong một môi trường cách ly và có nhiều khả năng hơn để giảm thiểu vấn đề. Trong trường hợp xảy ra sự cố nghiêm trọng, bạn có thể khôi phục máy ảo (VM) một cách nhanh chóng từ bản sao lưu.
Yêu cầu
Để cấu hình máy ảo (VM) với tính năng GPU Passthrough trên máy chủ Hyper-V, bạn phải đáp ứng các yêu cầu về phần cứng và phần mềm nhất định. Không phải tất cả các card đồ họa đều có thể sử dụng cho tính năng này.
Thông số kỹ thuật phần cứng cho GPU Passthrough
- Bộ xử lý (CPU) trên máy chủ Hyper-V phải hỗ trợ các tính năng ảo hóa Intel-VT hoặc AMD-V. Tính năng ảo hóa phù hợp phải được kích hoạt cho bộ xử lý trên máy chủ Hyper-V trong cài đặt UEFI/BIOS.
- Bộ quản lý bộ nhớ đầu vào-đầu ra (IOMMU) phải được hỗ trợ bởi CPU trên máy chủ Hyper-V. Tính năng này là bắt buộc cho PCI passthrough, bao gồm cả passthrough card đồ họa hoặc GPU.
- Một card đồ họa có GPU hỗ trợ các công nghệ ảo hóa GPU, chẳng hạn như NVIDIA GRID hoặc AMD MxGPU (Multiuser GPU). Các công nghệ này là riêng của nhà sản xuất. Sử dụng phần cứng cấp máy chủ sẽ cải thiện tỷ lệ thành công. Các thiết bị cũ sử dụng PCI Interrupts (INTx) không được hỗ trợ.
- SR-IOV (Single Root Input/Output Virtualization) phải được hỗ trợ và kích hoạt để tránh lỗi.
Yêu cầu phần mềm cho Hyper-V Passthrough
- Windows Server 2016 hoặc phiên bản Windows Server mới hơn (được khuyến nghị)
- Windows 10 hoặc Windows 11
- Vai trò (tính năng) Hyper-V phải được kích hoạt trong Windows.
- Các trình điều khiển đồ họa mới nhất phải được cài đặt trên máy chủ Hyper-V và máy ảo (VM) khách sử dụng GPU passthrough.
- Chỉ các máy ảo Hyper-V thế hệ 2 mới được sử dụng cho GPU passthrough với DDA.
Hạn chế và cấu hình không được hỗ trợ
Lưu ý các cấu hình không được hỗ trợ để sử dụng GPU passthrough:
- Các máy ảo sử dụng Hyper-V Dynamic Memory, tức là tính năng phân bổ và giải phóng RAM cho máy ảo khi cần thiết, không thể sử dụng GPU passthrough.
- GPU Passthrough chỉ có sẵn trên các phiên bản Windows cao cấp nhất, chẳng hạn như Windows Server 2019 Datacenter.
- Nếu Windows Subsystem for Linux được triển khai trên máy chủ Hyper-V, thì lỗi với mã 43 có thể xảy ra trên máy ảo.
- Các tính năng cụm như High Availability và di chuyển trực tiếp máy ảo (VM live migration) không được hỗ trợ.
- Lưu và khôi phục bằng điểm kiểm tra máy ảo (VM checkpoints) không được hỗ trợ.
Cài đặt GPU Passthrough: Những điều bạn cần biết
Bạn nên lưu ý rằng cấu hình GPU Passthrough có thể phức tạp hơn so với hầu hết các tác vụ cấu hình máy ảo thông thường. Khả năng mở rộng của môi trường ảo khi sử dụng tính năng truyền qua GPU (GPU passthrough) không cao bằng khi sử dụng phương pháp mặc định để mô phỏng card đồ họa. Bạn không thể di chuyển các máy ảo (VM) sử dụng tính năng truyền qua GPU giữa các máy chủ Hyper-V vì các máy ảo này bị ràng buộc với các bộ điều hợp đồ họa vật lý được cài đặt trên máy chủ.
Cho đến Windows Server 2016, tính năng RemoteFX được sử dụng để truyền qua GPU cho các máy ảo. Từ Windows Server 2019 và Windows 10 bản 1809 trở đi, tính năng RemoteFX đã bị loại bỏ ( không còn có sẵn), và chỉ có Hyper-V Direct Device Assignment (DDA) mới có thể được sử dụng để truyền qua card đồ họa, tương tự như các thiết bị PCI/PCIe khác, bao gồm cả thiết bị lưu trữ NVMe. DDA là tương đương với tính năng PCI passthrough của VMware.
RemoteFX là một tiện ích mở rộng cho RDP (Microsoft Remote Display Protocol) được sử dụng để kết nối các thiết bị USB (được gắn vào máy chủ) với một máy ảo. RemoteFX vGPU được sử dụng cho các card đồ họa tương ứng. RemoteFX cho phép chia sẻ một GPU cho nhiều máy ảo, điều này không thể thực hiện được với Discrete Device Assignment. RemoteFX cũng giới hạn dung lượng bộ nhớ video chuyên dụng ở mức 1 GB cho mỗi máy ảo và tốc độ khung hình tối đa là 30 FPS. Trong trường hợp DDA, không có giới hạn bộ nhớ video như vậy và tốc độ khung hình có thể được đặt lên 60 FPS.
Nếu bạn sử dụng Windows Server 2016 Datacenter hoặc các phiên bản và bản phát hành Windows khác từng hỗ trợ RemoteFX, bạn có thể cài đặt bản vá ” Cập nhật Windows ” để loại bỏ hoàn toàn tính năng này khỏi Hyper-V và tránh các lỗ hổng bảo mật tiềm ẩn. Phiên bản chính thức từ Microsoft là RemoteFX đã bị loại bỏ để tránh các lỗ hổng bảo mật về kiến trúc của Hyper-V. RemoteFX từng rất hấp dẫn đối với các môi trường ảo hóa mật độ cao khi không thể gán một card đồ họa vật lý chuyên dụng cho từng máy ảo (VM). Lưu ý rằng DDA hoạt động trên các phiên bản Windows Server (không hoạt động trên các phiên bản client như Windows 10).
Phân vùng GPU trong PowerShell có thể là giải pháp trên các phiên bản Windows client, nhưng việc sao chép trình điều khiển đồ họa từ hệ điều hành chủ sang hệ điều hành khách (phải giống với hệ điều hành chủ) khá phức tạp. Phải sử dụng các máy ảo thế hệ 2. Trong trường hợp này, card đồ họa phải hỗ trợ phân vùng GPU.
Cấu hình GPU Passthrough trong Hyper-V
Thực hiện các bước sau để chuẩn bị môi trường và cấu hình GPU Passthrough trong Hyper-V.
Chuẩn bị để cấu hình GPU Passthrough
- Đảm bảo phần cứng và phần mềm của bạn hỗ trợ ảo hóa GPU.
- Kích hoạt các tính năng ảo hóa Intel VT-d hoặc AMD-V cho CPU trong UEFI/BIOS trên máy chủ Hyper-V.
- Kích hoạt IOMMU. Cài đặt IOMMU có thể được kích hoạt theo nhiều cách khác nhau trên các bo mạch chủ khác nhau với các phiên bản UEFI/BIOS khác nhau. Đôi khi, cài đặt này có thể nằm trong phần cấu hình North Bridge. Hoặc IOMMU có thể được kích hoạt khi bạn bật Intel VT-d hoặc AMD-V. Hãy kiểm tra tính năng có tên Memory Remap trong UEFI/BIOS.
Bạn có thể kiểm tra xem IOMMU đã được kích hoạt trên máy chủ Hyper-V hay chưa bằng lệnh PowerShell (với quyền Quản trị viên):
(Get-VMHost).IovSupport; (Get-VMHost).IovSupportReasonsTrue – đã bật; False – đã tắt.
- Xóa tất cả các điểm kiểm tra cho máy ảo mà bạn định cấu hình sử dụng GPU passthrough.
Nếu các điểm kiểm tra tự động được bật cho máy ảo, bạn có thể tắt chúng bằng lệnh PowerShell:
Set-VM -Name VMName -AutomaticStopAction TurnOff
GPU passthrough trong Windows Server
- Để thiết lập bộ nhớ đệm và giới hạn cho không gian MIMO 32-bit (3 GB cho hệ điều hành 32-bit), hãy chạy lệnh PowerShell này với quyền quản trị viên:
Set-VM -Name VMName -GuestControlledCacheTypes $True -LowMemoryMappedIoSpace 3Gb -HighMemoryMappedIoSpace 33280MbNgoài ra, bạn có thể sử dụng ba lệnh riêng biệt:
Set-VM -GuestControlledCacheTypes $true -VMName YourVMNameSet-VM -LowMemoryMappedIoSpace 3Gb -VMName YourVMNameSet-VM -HighMemoryMappedIoSpace 33280Mb -VMName YourVMNameCác giới hạn này xác định bộ nhớ cho phép thiết bị truy cập vào máy ảo (VM). Bạn có thể sử dụng công cụ Tập lệnh cấu hình máy của Microsoft để thiết lập các giá trị giới hạn MIMO chính xác nhất. Các giá trị tối ưu có thể khác nhau tùy thuộc vào các bộ điều hợp video khác nhau. Nếu bạn nhận được thông báo rằng không đủ tài nguyên khi khởi động máy ảo, bạn nên tắt máy ảo và điều chỉnh các giá trị này. 33280 MB được sử dụng cho không gian MIMO lớn hơn 32-bit.
- Kiểm tra địa chỉ vật lý của thiết bị PCI Express (đường dẫn vị trí của thiết bị), đây là card đồ họa cần thiết mà bạn muốn truyền qua.
Việc này có thể thực hiện trong Trình quản lý thiết bị. Bạn có thể mở Trình quản lý thiết bị bằng cách chạy lệnh
devmgmt.msc. Trong Trình quản lý thiết bị:- Nhấp chuột phải vào bộ điều hợp hiển thị cần thiết trong phần Bộ điều hợp hiển thị và chọn
Propertiestrong menu ngữ cảnh. - Chọn tab
Detailstrong cửa sổ thuộc tính của bộ điều hợp. - Chọn thuộc tính
Location pathstrong menu thả xuống và sao chép giá trị (các giá trị có thể khác nhau tùy theo từng máy tính).
Bạn cũng có thể sử dụng PowerShell để xác định đường dẫn vị trí của thiết bị:
Get-PnpDevice | Where-Object {$_.Present -eq $true} | Where-Object {$_.Class -eq "Display"}|select Name,InstanceIdvà
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*" })"; }Kết quả sẽ chứa một chuỗi như sau:
‘PCIROOT(0)#PCI(0300)#PCI(0000)’

- Nhấp chuột phải vào bộ điều hợp hiển thị cần thiết trong phần Bộ điều hợp hiển thị và chọn
- Vô hiệu hóa card đồ họa này trong Trình quản lý thiết bị. Nhấp chuột phải vào bộ điều hợp video và chọn
Disable devicetrong menu ngữ cảnh.
- Ngắt kết nối bộ điều hợp màn hình bị vô hiệu hóa trong PowerShell:
Dismount-VmHostAssignableDevice -LocationPath "PCIROOT(0)#PCI(0300)#PCI(0000)" -ForceTrong đó:
-Forcelà bắt buộc khi trình điều khiển phân vùng (tùy chọn) chưa được cài đặt. Đây không phải là trình điều khiển dành cho card đồ họa được cài đặt trong hệ điều hành khách. Đôi khi, nhà sản xuất thiết bị có thể cung cấp trình điều khiển giảm thiểu rủi ro bảo mật này cho thiết bị. Nếu bạn định cài đặt trình điều khiển này, bạn nên cài đặt nó trước khi ngắt kết nối thiết bị PCI Express khỏi phân vùng máy chủ.Đường dẫn được sử dụng trong lệnh này chỉ mang tính minh họa, và bạn nên sử dụng giá trị cụ thể của mình.
- Chạy lệnh để gán card đồ họa này cho máy ảo thông qua GPU passthrough qua DDA:
Add-VMAssignableDevice -VMName VMName -LocationPath "PCIROOT(0)#PCI(0300)#PCI(0000)" - Khởi động máy ảo và kiểm tra xem card đồ họa vật lý có hiển thị trong Trình quản lý thiết bị của máy ảo Windows cùng với bộ điều hợp đồ họa ảo mặc định có tên Microsoft Hyper-V video hay không.
- Cài đặt trình điều khiển cho card đồ họa trên hệ điều hành khách của máy ảo. Bạn có thể tải xuống trình điều khiển đồ họa trên trang web chính thức của NVIDIA hoặc AMD.
- Nếu muốn ngắt kết nối card đồ họa khỏi máy ảo, hãy dừng máy ảo và sử dụng lệnh trên máy chủ:
Remove-VMAssignableDevice -VMName YourVMName -LocationPath $locationPathTiếp theo, chạy lệnh để kết nối lại card đồ họa với máy chủ Hyper-V:
Mount-VMHostAssignableDevice -LocationPath $locationPath
Cấu hình trong Windows 10
Trên các phiên bản Windows dành cho máy khách, chẳng hạn như Windows 10 và Windows 11 (bắt đầu từ bản dựng Windows 10 1903), quy trình cấu hình truyền qua GPU Hyper-V khác biệt và có thể thực hiện bằng phương pháp phân vùng GPU:
- Kiểm tra xem card đồ họa của bạn có hỗ trợ phân vùng GPU trong Windows 10 hay không bằng lệnh PowerShell:
Get-VMPartitionableGpuTrong Windows 11, lệnh là:
Get-VMHostPartitionableGpu - Để truyền qua GPU cho máy ảo (VM), lệnh
Add-VMGpuPartitionAdapterđược sử dụng. Tuy nhiên, bạn phải sao chép trình điều khiển đồ họa từ máy chủ Hyper-V sang máy ảo. Lưu ý rằng phiên bản trình điều khiển phải giống nhau. Bạn có thể sử dụng tập lệnh miễn phí Easy-GPU-PV để sao chép trình điều khiển vì đây là một quá trình khá phức tạp. Tải xuống tập lệnh này dưới dạng tệp ZIP và giải nén nội dung của tệp ZIP vào một thư mục trên máy chủ Hyper-V. Tập lệnh này có thể sử dụng ảo hóa GPU bằng cách tận dụng các cơ chế được sử dụng cho Windows Subsystem for Linux (WSL2) và Windows Sandbox. - Mở PowerShell với tư cách Quản trị viên và chạy lệnh để cho phép thực thi tập lệnh:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -ForceSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - Tắt máy ảo. Chạy tập lệnh từ thư mục đã giải nén tập lệnh đã tải xuống để sao chép các trình điều khiển đồ họa đã cài đặt từ máy chủ Hyper-V sang máy ảo và cài đặt các trình điều khiển đó trên máy ảo:
.Update-VMGpuPartitionDriver.ps1 -VMName YourVMName -GPUName "AUTO" - Cấu hình máy ảo để chuẩn bị cho tính năng truyền qua GPU và liên kết card đồ họa:
Set-VM -VMName VMName -GuestControlledCacheTypes $true -LowMemoryMappedIoSpace 1Gb -HighMemoryMappedIoSpace 32GbAdd-VMGpuPartitionAdapter -VMName YourVMName- Nếu bạn cập nhật trình điều khiển đồ họa trên máy chủ Hyper-V, bạn cũng phải cập nhật trình điều khiển đồ họa trên máy ảo. Máy ảo phải được tắt nguồn.
.Update-VMGpuPartitionDriver.ps1 -VMName YourVMName -GPUName "AUTO" - Nếu bạn cần gỡ bỏ card đồ họa khỏi máy ảo, bạn có thể sử dụng lệnh:
Remove-VMGpuPartitionAdapter -VMName "YourVMName"
- Nếu bạn cập nhật trình điều khiển đồ họa trên máy chủ Hyper-V, bạn cũng phải cập nhật trình điều khiển đồ họa trên máy ảo. Máy ảo phải được tắt nguồn.
Nếu card đồ họa đã được kết nối thành công với máy ảo, bạn sẽ thấy bộ điều hợp hiển thị tương ứng trong Trình quản lý thiết bị của máy ảo. Bạn cũng sẽ thấy các hiệu ứng hình ảnh cho chủ đề desktop Windows của hệ điều hành khách, chẳng hạn như độ trong suốt, v.v.
Lưu ý rằng một số trò chơi và ứng dụng có thể không chạy ngay cả sau khi cấu hình GPU passthrough. Điều này có thể xảy ra khi một ứng dụng buộc phải thực hiện kiểm tra tương thích của card đồ họa. Thông tin về card đồ họa được kết nối trong hệ điều hành khách khác với thông tin trên hệ điều hành máy chủ. Một số ứng dụng có thể thực hiện kiểm tra “đang chạy trong máy ảo”.
Nếu các ứng dụng sử dụng OpenGL không hoạt động trong máy ảo, việc cài đặt Gói Tương thích OpenGL có thể giúp khắc phục trong một số trường hợp.
Khi sử dụng phương pháp phân vùng GPU cho Windows 10 và Windows 11, mô hình bộ điều hợp đồ họa hiển thị trong Trình quản lý thiết bị sẽ khác với mô hình bộ điều hợp đồ họa vật lý hiển thị trên máy chủ Hyper-V. Bạn có thể thấy trình điều khiển Microsoft đặc biệt cho thiết bị này. Các công cụ riêng của nhà sản xuất, như Bảng điều khiển NVIDIA (hoặc Bảng điều khiển AMD), không khả dụng trong máy ảo.
Một vấn đề khác mà bạn có thể gặp phải xảy ra nếu bạn đóng kết nối RDP mà không ngắt kết nối khỏi phiên RDP. Trong trường hợp này, toàn bộ bộ nhớ GPU có thể bị ngắt kết nối, và tất cả các ứng dụng sử dụng GPU sẽ thông báo cho bạn về việc không thể truy cập bộ nhớ video. Các ứng dụng này sẽ ngừng hoạt động trong trường hợp này, và việc kết nối lại qua RDP sẽ không khắc phục được vấn đề. Bạn sẽ cần khởi động lại các ứng dụng sử dụng GPU.
Khắc phục sự cố truyền qua GPU
Nếu bạn đã cấu hình truyền qua GPU Hyper-V và kết nối một card đồ họa với máy ảo, nhưng card đồ họa không hoạt động đúng cách, hãy kiểm tra các mục sau:
- Đảm bảo rằng các trình điều khiển đồ họa mới nhất đã được cài đặt và không có lỗi liên quan đến trình điều khiển. Mở Trình quản lý thiết bị và kiểm tra trạng thái thiết bị và trình điều khiển. Bạn phải cài đặt trình điều khiển được tải xuống từ trang web chính thức của nhà sản xuất (NVIDIA, AMD, Intel) chứ không phải thông qua Windows Update.
- Đảm bảo rằng bạn đã phân bổ đủ dung lượng MIMO cho máy ảo của mình.
- Kiểm tra xem cấu hình GPU passthrough có được nhà sản xuất hỗ trợ cho card đồ họa của bạn hay không. Không phải tất cả các dòng card đồ họa đều hỗ trợ tính năng này. Các nhà sản xuất có thể chỉ kích hoạt GPU passthrough cho các dòng card đồ họa cao cấp.
- Ứng dụng chạy trong máy ảo phải hỗ trợ card đồ họa và trình điều khiển của bạn để hoạt động đúng cách.
- Kích hoạt chính sách nhóm để sử dụng GPU khi kết nối qua Remote Desktop với máy ảo:
Computer ConfigurationAdministrator TemplatesWindows ComponentsRemote Desktop ServicesRemote Desktop Session HostRemote Session EnvironmentUse hardware graphics adapters for all Remote Desktop Services sessionsĐặt giá trị chính sách nhóm thành
Enabled. - Nếu bạn thấy lỗi như “T hoạt động đã thất bại vì đối tượng không được tìm thấy ” hoặc Lỗi 12 , hãy thử thêm các khóa đăng ký tại
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsHyperVvới các giá trị:
RequireSecureDeviceAssignment = 0 (REG_DWORD)RequireSupportedDeviceAssignment = 0 (REG_DWORD)Bạn có thể đặt các giá trị này bằng lệnh PowerShell:
Set-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsHyperV" -Name "RequireSecureDeviceAssignment" -Type DWORD -Value 0 -ForceSet-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsHyperV" -Name "RequireSupportedDeviceAssignment" -Type DWORD -Value 0 -Force - Vô hiệu hóa kiểm tra trình điều khiển đồ họa của hypervisor bên trong máy ảo. Cấu hình này có thể thực hiện tại Bộ công cụ trình điều khiển Windows dành cho doanh nghiệp (WDK).
- Gắn tệp ISO WDK vào ổ đĩa DVD ảo của máy ảo.
- Chạy
E:LaunchBuildEnv.cmd(trong đóE:là ổ đĩa DVD ảo của máy ảo) và sau đó chạy lệnhpowershell. - Đi đến thư mục chứa tệp kịch bản
Remove-HypervisorChecks.ps1. - Chạy lệnh để loại bỏ kiểm tra hypervisor cho trình điều khiển đồ họa (ví dụ: NVIDIA):
./Remove-HypervisorChecks.ps1 -Nvidia -DriverPath "C:path-to-driverpackage.exe" - Chờ cho đến khi quá trình thực thi kịch bản hoàn tất.
- Sao chép trình điều khiển đã chuẩn bị (tệp patched-driver.zip ) vào máy ảo, bật chế độ thử nghiệm trên máy ảo và cài đặt trình điều khiển trong hệ điều hành khách.
- Nếu bạn gặp Lỗi 43 , hãy đảm bảo rằng GPU và bus PCI âm thanh (các card đồ họa NVIDIA cũng có thể có tính năng âm thanh) được giữ cùng nhau khi sử dụng tính năng truyền qua GPU của máy ảo.
- Nếu bạn thấy lỗi sau khi chạy lệnh:
Update-VMGpuPartitionDriver.ps1 -VMName "YourVMName" -GPUName "AUTO"Lỗi này có thể do có nhiều phân vùng (volume) trên đĩa cứng ảo. Hãy thử đặt thuộc tính ẩn cho các phân vùng không phải hệ thống (OS) hoặc tạm thời xóa các phân vùng này sau khi sao chép dữ liệu cần thiết. Một phương án thay thế là thiết lập phân vùng hệ điều hành (OS) cần thiết một cách rõ ràng trong tập lệnh hoặc lệnh PowerShell.
Kết luận
Việc sử dụng máy ảo với tính năng truyền qua GPU trên máy chủ Hyper-V có thể là giải pháp tối ưu trong một số trường hợp, nhưng cần lưu ý các hạn chế. Phần cứng cấp máy chủ và hệ điều hành Windows Server thường được ưu tiên khi sử dụng card đồ họa rời trên máy ảo. Hãy kiểm tra phần mềm và phần cứng được hỗ trợ trước khi bắt đầu cấu hình. Đừng quên sao lưu các máy ảo Hyper-V để tránh mất dữ liệu và thời gian nếu xảy ra sự cố khi cấu hình card đồ họa cho máy ảo.