Cum se activează compatibilitatea RemoteFX vGPU în Hyper-V

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor

O caracteristică utilă care a fost introdusă nu cu mult timp în urmă pentru Windows 10 a fost acum dezactivată. Funcția RemoteFX vGPU permite utilizatorilor mașinilor virtuale (VM-uri) care rulează Windows Server 2008 R2, Server 2012, Server 2016 și Windows 10 care rulează pe Hyper-V să utilizeze unitatea fizică de procesare grafică (GPU) a mașinii gazdă pentru a reda imaginea ieșire.

Începând cu cea mai recentă actualizare de către Microsoft pentru Windows 10, KB4571757, Microsoft a decis să întrerupă această caracteristică din cauza unei vulnerabilități critice descoperite în Executarea codului la distanță.

Să analizăm detaliile funcției, de ce a fost întreruptă și dacă putem găsi sau nu o modalitate de a funcționa în continuare. Rezumat rapid ascunde 1 Ce este RemoteFX vGPU? 2 De ce a eliminat Microsoft funcția RemoteFX vGPU? 3 Cum se activează RemoteFX vGPU pe Hyper-V care rulează pe Windows 10 4 Alternativă pentru RemoteFX vGPU 4.1 Configurați VM pentru DDA 4.2 Demontați GPU-ul de pe computerul gazdă 4.3 Alocați GPU VM 5 Cuvinte de închidere

Ce este RemoteFX vGPU?

VM-urile care rulează pe Hyper-V pot utiliza GPU-ul fizic de pe computerul gazdă pentru a-și rula sarcinile de redare video și procesare a imaginii, utilizând funcția RemoteFX vGPU. Acest lucru permite utilizatorilor să scoată încărcătura procesorului și să ruleze procesarea grea a imaginilor pe VM-urile lor utilizând GPU-ul partajat.

Cu această caracteristică, nu este necesară o GPU dedicată pentru fiecare VM și oferă simultan o scalabilitate și o utilizare mai bune a GPU, precum și a VM-urilor. Mergeți spre Pagina web a Microsoft pentru a afla mai multe despre caracteristică.

De ce a eliminat Microsoft funcția RemoteFX vGPU?

Deși funcția RemoteFX vGPU este veche, deoarece a fost introdusă în Windows 7, acum este exploatată de hackeri pentru a executa comenzi la distanță pe mașina gazdă. Această caracteristică nu este capabilă să autentifice intrarea unui utilizator valid pe VM. Un hacker poate exploata această vulnerabilitate pentru a rula aplicații modificate pe VM pentru a exploata driverele GPU gazdă și pentru a obține acces. Odată ce au acces la mașina gazdă, ei pot executa comenzi și scripturi la distanță.

Deși Microsoft abordează astfel de vulnerabilități prin actualizările lor regulate, nu au reușit să facă acest lucru, deoarece defectul este arhitectural.

Microsoft a început să elimine această caracteristică pentru diferite versiuni ale sistemului de operare în iulie 2020. Cu toate acestea, actualizarea cumulativă Windows 10 pentru septembrie 2020 a dezactivat caracteristica în toate edițiile Windows 10 versiunea 2004.

Microsoft afirmă că utilizatorii vor putea în continuare să reactiveze funcția până în februarie 2021 prin comenzi speciale, dar ar trebui să înceapă să lucreze la metode alternative care vor fi discutate mai jos în articol. Aici este notificare de la Microsoft cu privire la dezactivarea RemoteFX vGPU .

Cum se activează RemoteFX vGPU pe Hyper-V care rulează pe Windows 10

Deși Microsoft a dezactivat caracteristica pentru a activa RemoteFX vGPU prin Hyper-V pe Windows 10, poate fi activată în continuare printr-o comandă utilizând PowerShell. Mai mult, Setările politicii de grup sunt încă acolo în cadrul sistemelor de operare invitate (VM), care pot fi utilizate pentru a activa caracteristica pe VM la fel ca înainte.

gri

  1. Mai întâi, porniți VM pe care doriți să configurați această caracteristică și deschideți Editorul de politici de grup introducând gpedit.msc în Fugi.
  2. În Editor de politici de grup , navigați la următoarele din panoul din stânga:
  3. Configurare computer -> Șabloane administrative -> Componente Windows -> Servicii desktop la distanță -> Gazdă sesiune desktop la distanță -> Mediu sesiune la distanță -> RemoteFX pentru Windows Server
  4. În panoul din dreapta, faceți dublu clic pe Configurați RemoteFX .
  5. În Configurați RemoteFX fereastra de proprietăți, selectați Activat , apoi faceți clic pe aplica și Bine .
  6. Acum deschideți linia de comandă și tastați gpupdate / forță pentru a actualiza politicile de grup.
  7. Descărcați și instalați driverul GPU recomandat în funcție de GPU-ul fizic. Iată o recenzie detaliată a GPU-uri și cum să le gestionați .
  8. Acum opriți VM și navigați înapoi la computerul de găzduire care rulează Hyper-V.
  9. Din moment ce Adaptor video RemoteFX 3D opțiunea este gri în setările VM, o vom activa prin PowerShell. Rulați PowerShell cu drepturi administrative. Iată un ghid complet despre cum să rulați întotdeauna PowerShell în modul administrativ.
  10. Introduceți următoarea comandă în timp ce înlocuiți (nume) cu numele mașinii dvs. virtuale:
    Add-VMRemoteFX3dVideoAdapter -VMName (name)
  11. Acum deschideți setările VM prin panoul de control Hyper-V și veți găsi Adaptor video RemoteFX ED sub Procesor filă. Faceți clic pe acesta și apoi faceți configurațiile în funcție de nevoile dvs.
    setări vm remotefx

Acum puteți porni și vă conectați la mașina virtuală și aceasta va folosi acum GPU-ul mașinii gazdă pentru a-și procesa volumul de lucru. De asemenea, puteți configura mai multe VM-uri pentru a rula pe un GPU fizic partajat.

Alternativă pentru RemoteFX vGPU

Microsoft planifică permanent eliminarea funcției până în februarie 2021. Cu toate acestea, nu și-au lăsat utilizatorii blocați. Microsoft a propus, de asemenea, o soluție alternativă pentru a monta direct GPU-ul fizic pe portul PCIe pe o mașină virtuală prin intermediul Alocarea discretă a dispozitivului (DDA).

Această metodă are trei faze care trebuie finalizate pentru a oferi o VM un GPU dedicat:

  1. Configurați VM pentru DDA
  2. Demontați GPU-ul de pe computerul gazdă
  3. Alocați GPU VM

Configurați VM pentru DDA

Pe computerul gazdă, executați următoarele comenzi una după alta pentru a configura setările sale. Înlocuiți (nume) cu numele VM:

  1. Set-VM -Name (name) -AutomaticStopAction TurnOff
  2. Set-VM -GuestControlledCacheTypes $true -VMName (name)
  3. Set-VM -LowMemoryMappedIoSpace 3Gb -VMName (name)
  4. Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName (name)

Demontați GPU-ul de pe computerul gazdă

În primul rând, trebuie să dezactivați GPU-ul de pe portul PCIe și apoi să îl demontați. Dar înainte de asta, veți avea nevoie de adresa fizică a portului. Acest lucru poate fi determinat prin efectuarea următoarelor:

  1. Accesați Managerul de dispozitive tastând devmgmt.msc în Run.
  2. Acum extindeți adaptoare de afișare și faceți clic dreapta pe GPU. Selectați Proprietăți din meniul contextual.
  3. Accesați fila Detalii și selectați Căi de locație din meniul derulant sub Proprietate.
  4. Rețineți că intrarea începe cu PCIROOT, deoarece acest lucru va fi necesar la demontarea GPU-ului de pe dispozitivul gazdă.

Acum efectuați următoarele pentru a demonta dispozitivul:

  1. Mergeți la Proprietăți fereastra GPU din Manager de dispozitiv .
  2. Du-te la Conducător auto fila și apoi faceți clic pe Dezactivează dispozitiv .

Acum că dispozitivul a fost dezactivat, trebuie să-l demontați.

Introduceți următoarea comandă în linia de comandă:
Dismount-VMHostAssignableDevice -force -LocationPath $(LocationPath)
Înlocuiți (LocationPath) cu calea PCIe pe care ați notat-o ​​anterior.

După ce ați terminat, puteți trece la faza următoare.

Alocați GPU VM

Acum tot ce trebuie să faceți este să programați Hyper-V pentru a permite VM-ului specificat să utilizeze GPU-ul fizic. Acest lucru se poate face executând comanda de mai jos în Promptul de comandă:
Add-VMAssignableDevice -LocationPath $locationPath -VMName (name)
Înlocuiți (nume) cu numele VM.

Acum puteți porni sistemul de operare pentru oaspeți și puteți vedea că adaptorul video pe care îl folosește acum va fi cel fizic de pe computerul gazdă.

Dacă doriți să returnați GPU-ul înapoi pe dispozitivul gazdă, pur și simplu rulați următoarele două comenzi în aceeași ordine, una după alta, în linia de comandă în timp ce înlocuiți (nume) cu numele VM:
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

Cuvinte de închidere

RemoteFX vGPU nu a existat prea mult pentru versiunea 2004. Cu toate acestea, oamenilor le-a plăcut ideea. S-ar putea să-l vedeți să nu fie atât de supărător pe cât se anticipase, cu excepția cazului în care introduceți factorul de cost.

Deși Microsoft a oferit o alternativă pentru utilizarea GPU-urilor desemnate pentru fiecare mașină virtuală, nu ar fi ideal să plasați la fel de multe GPU-uri pe placa de bază a computerului gazdă ca și mașinile virtuale. Costurile ar fi prea mari, iar consumul de energie nu ar fi ideal.

Microsoft trebuie să găsească o soluție pentru această problemă, deoarece soluția furnizată nu este fezabilă pentru majoritatea utilizatorilor.