Come abilitare il supporto vGPU RemoteFX in Hyper-V

Prova Il Nostro Strumento Per Eliminare I Problemi

Un'utile funzionalità introdotta non molto tempo fa per Windows 10 è stata ora disabilitata. La funzionalità RemoteFX vGPU consente agli utenti di macchine virtuali (VM) che eseguono Windows Server 2008 R2, Server 2012, Server 2016 e Windows 10 in esecuzione su Hyper-V di utilizzare l'unità di elaborazione grafica (GPU) fisica della macchina host per eseguire il rendering della sua grafica produzione.

A partire dall'ultimo aggiornamento di Microsoft per Windows 10, KB4571757, Microsoft ha deciso di interrompere questa funzionalità a causa di una vulnerabilità critica scoperta nell'esecuzione di codice in modalità remota.

Esaminiamo i dettagli della funzione, perché è stata interrotta e se possiamo trovare un modo per farlo funzionare ancora. Riepilogo rapido nascondere 1 Che cos'è RemoteFX vGPU? 2 Perché Microsoft ha rimosso la funzione vGPU di RemoteFX? 3 Come abilitare RemoteFX vGPU su Hyper-V in esecuzione su Windows 10 4 Alternativa per RemoteFX vGPU 4.1 Configura la VM per DDA 4.2 Smontare la GPU dal computer host 4.3 Assegna la GPU alla VM 5 Parole di chiusura

Che cos'è RemoteFX vGPU?

Le VM in esecuzione su Hyper-V possono utilizzare la GPU fisica sul computer host per eseguire le attività relative al rendering video e all'elaborazione delle immagini, utilizzando la funzionalità RemoteFX vGPU. Ciò consente agli utenti di alleggerire il carico della CPU ed eseguire un'elaborazione pesante delle immagini sulle proprie macchine virtuali utilizzando la GPU condivisa.

Con questa funzionalità, non è necessaria una GPU dedicata per ogni VM e contemporaneamente fornisce scalabilità e usabilità avanzate della GPU e delle VM. Dirigiti verso La pagina web di Microsoft per saperne di più sulla funzione.

Perché Microsoft ha rimosso la funzione vGPU di RemoteFX?

Sebbene la funzione RemoteFX vGPU sia obsoleta rispetto a quando è stata introdotta in Windows 7, ora viene sfruttata dagli hacker per eseguire comandi remoti sul computer host. Questa funzionalità non è in grado di autenticare l'input di un utente valido sulla VM. Un hacker può sfruttare questa vulnerabilità per eseguire applicazioni modificate sulla VM per sfruttare i driver della GPU host e ottenere l'accesso. Una volta che hanno accesso alla macchina host, sono in grado di eseguire comandi e script remoti.

Sebbene Microsoft risolva tali vulnerabilità attraverso i loro aggiornamenti regolari, non è stata in grado di farlo poiché il difetto è architettonico.

Microsoft ha iniziato a rimuovere questa funzionalità per diverse versioni del sistema operativo nel luglio 2020. Tuttavia, l'aggiornamento cumulativo di Windows 10 per settembre 2020 ha disabilitato la funzionalità in tutte le edizioni di Windows 10 versione 2004.

Microsoft afferma che gli utenti saranno ancora in grado di riattivare la funzionalità fino a febbraio 2021 tramite comandi speciali, ma dovrebbero iniziare a lavorare su metodi alternativi che verranno discussi più avanti nell'articolo. Ecco un notifica di Microsoft sulla disabilitazione di RemoteFX vGPU .

Come abilitare RemoteFX vGPU su Hyper-V in esecuzione su Windows 10

Sebbene Microsoft abbia disattivato la funzionalità per abilitare RemoteFX vGPU tramite Hyper-V su Windows 10, può comunque essere abilitata tramite un comando utilizzando PowerShell. Inoltre, le impostazioni dei criteri di gruppo sono ancora presenti all'interno dei sistemi operativi guest (VM) che possono essere utilizzate per abilitare la funzionalità sulla VM proprio come prima.

in grigio

  1. Innanzitutto, accendi la VM su cui desideri configurare questa funzione e apri l'Editor criteri di gruppo digitando gpedit.msc in Corsa.
  2. Nel Editor criteri di gruppo , vai a quanto segue dal riquadro di sinistra:
  3. Configurazione computer -> Modelli amministrativi -> Componenti di Windows -> Servizi Desktop remoto -> Host sessione Desktop remoto -> Ambiente sessione remota -> RemoteFX per Windows Server
  4. Nel riquadro di destra, fare doppio clic su Configura RemoteFX .
  5. Nel Configura RemoteFX finestra delle proprietà, selezionare Abilitato , quindi fare clic su Applicare e Ok .
  6. Ora apri il prompt dei comandi e digita gpupdate /force per aggiornare i Criteri di gruppo.
  7. Scarica e installa il driver GPU consigliato in base alla tua GPU fisica. Ecco una recensione dettagliata di GPU e come gestirle .
  8. Ora spegni la VM e torna al computer host che esegue Hyper-V.
  9. Dal momento che Adattatore video 3D RemoteFX l'opzione è disattivata nelle impostazioni della VM, la abiliteremo tramite PowerShell. Esegui PowerShell con diritti amministrativi. Ecco una guida completa su come eseguire sempre PowerShell in modalità amministrativa.
  10. Inserisci il seguente comando mentre sostituisci (nome) con il nome della tua macchina virtuale:
    Add-VMRemoteFX3dVideoAdapter -VMName (name)
  11. Ora apri le Impostazioni VM attraverso il pannello di controllo di Hyper-V e troverai il Adattatore video ED RemoteFX sotto il Processore scheda. Fare clic su di esso e quindi effettuare le configurazioni in base alle proprie esigenze.
    vm settings remotefx

Ora puoi avviare e connetterti alla macchina virtuale e ora utilizzerà la GPU della macchina host per elaborare il suo carico di lavoro. Puoi anche configurare più VM per l'esecuzione su una GPU fisica condivisa.

Alternativa per RemoteFX vGPU

Microsoft sta pianificando in modo permanente di rimuovere la funzionalità entro febbraio 2021. Tuttavia, non hanno lasciato i loro utenti bloccati. Microsoft ha anche proposto una soluzione alternativa per montare direttamente la GPU fisica sulla porta PCIe su una VM tramite il Assegnazione di dispositivi discreti (DDA).

Questo metodo ha tre fasi che devono essere completate per fornire una VM con una GPU dedicata:

  1. Configura la VM per DDA
  2. Smontare la GPU dal computer host
  3. Assegna la GPU alla VM

Configura la VM per DDA

Sul computer host, eseguire i seguenti comandi uno dopo l'altro per configurarne le impostazioni. Sostituisci (nome) con il nome della 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)

Smontare la GPU dal computer host

Innanzitutto, è necessario disabilitare la GPU sulla porta PCIe, quindi smontarla. Ma prima, avrai bisogno dell'indirizzo fisico della porta. Questo può essere determinato eseguendo quanto segue:

  1. Vai a Gestione dispositivi digitando devmgmt.msc in Esegui.
  2. Ora espandi Schede video e fai clic con il pulsante destro del mouse sulla GPU. Seleziona Proprietà dal menu contestuale.
  3. Vai alla scheda Dettagli e seleziona Percorsi di posizione dal menu a discesa in Proprietà.
  4. Si noti che la voce inizia con PCIROOT poiché sarà necessario quando si smonta la GPU dal dispositivo host.

Ora esegui le seguenti operazioni per smontare il dispositivo:

  1. Vai al Proprietà finestra della GPU dal Gestore dispositivi .
  2. Vai al Autista scheda e quindi fare clic su disattivare dispositivo .

Ora che il dispositivo è stato disabilitato, devi smontarlo.

Immettere il seguente comando nel prompt dei comandi:
Dismount-VMHostAssignableDevice -force -LocationPath $(LocationPath)
Sostituisci (LocationPath) con il percorso PCIe annotato in precedenza.

Una volta fatto, puoi passare alla fase successiva.

Assegna la GPU alla VM

Ora tutto ciò che devi fare è programmare Hyper-V per consentire alla VM specificata di utilizzare la GPU fisica. Questo può essere fatto eseguendo il comando seguente nel prompt dei comandi:
Add-VMAssignableDevice -LocationPath $locationPath -VMName (name)
Sostituire (nome) con il nome della VM.

Ora puoi avviare il sistema operativo guest e vedere che l'adattatore video che sta utilizzando sarà quello fisico sul tuo computer host.

Se in qualsiasi momento desideri restituire la GPU al dispositivo host, esegui semplicemente i seguenti due comandi nello stesso ordine, uno dopo l'altro, nel prompt dei comandi sostituendo (nome) con il nome della VM:
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

Parole di chiusura

Il RemoteFX vGPU non è stato molto diffuso per la versione 2004. Tuttavia, alla gente è piaciuta l'idea. Vederlo andare potrebbe non essere così problematico come previsto a meno che non si inserisca il fattore costo.

Sebbene Microsoft abbia fornito un'alternativa per l'utilizzo di GPU designate per ogni macchina virtuale, non sarebbe l'ideale posizionare tante GPU sulla scheda madre del computer host quante sono le macchine virtuali. I costi sarebbero troppo alti e il consumo energetico non sarebbe l'ideale.

Microsoft deve trovare una soluzione al problema poiché la soluzione fornita non è fattibile per la maggior parte degli utenti.