Como ativar o suporte RemoteFX vGPU no Hyper-V

Experimente Nosso Instrumento Para Eliminar Problemas

Um recurso útil que foi introduzido não muito tempo atrás para o Windows 10 agora foi desabilitado. O recurso RemoteFX vGPU permite que os usuários de máquinas virtuais (VMs) executando o Windows Server 2008 R2, Server 2012, Server 2016 e Windows 10 em execução no Hyper-V usem a unidade de processamento gráfico (GPU) física da máquina host para renderizar seu gráfico saída.

A partir da atualização mais recente da Microsoft para o Windows 10, KB4571757, a Microsoft decidiu descontinuar esse recurso devido a uma vulnerabilidade crítica descoberta na Execução Remota de Código.

Vejamos os detalhes do recurso, por que ele foi descontinuado e se podemos ou não encontrar uma maneira de ele ainda funcionar. Resumo Rápido ocultar 1 O que é RemoteFX vGPU? 2 Por que a Microsoft removeu o recurso RemoteFX vGPU? 3 Como habilitar RemoteFX vGPU no Hyper-V em execução no Windows 10 4 Alternativa para RemoteFX vGPU 4,1 Configure a VM para DDA 4,2 Desmonte a GPU do computador host 4,3 Atribua a GPU à VM 5 Palavras de encerramento

O que é RemoteFX vGPU?

As VMs em execução no Hyper-V podem usar a GPU física no computador host para executar suas tarefas relacionadas à renderização de vídeo e processamento de imagem, usando o recurso RemoteFX vGPU. Isso permite que os usuários aliviem a carga de sua CPU e executem um processamento pesado de imagem em suas VMs usando a GPU compartilhada.

Com esse recurso, uma GPU dedicada para cada VM não é necessária e, simultaneamente, oferece escalabilidade e usabilidade aprimoradas da GPU, bem como das VMs. Vá para Página da web da Microsoft para saber mais sobre o recurso.

Por que a Microsoft removeu o recurso RemoteFX vGPU?

Embora o recurso RemoteFX vGPU seja antigo como foi introduzido no Windows 7, agora está sendo explorado por hackers para executar comandos remotos na máquina host. Este recurso não é capaz de autenticar a entrada de um usuário válido na VM. Um hacker pode explorar esta vulnerabilidade para executar aplicativos modificados na VM para explorar os drivers da GPU host e obter acesso. Assim que tiverem acesso à máquina host, eles serão capazes de executar comandos e scripts remotos.

Embora a Microsoft resolva essas vulnerabilidades por meio de suas atualizações regulares, eles não foram capazes de fazer isso porque a falha é arquitetural.

A Microsoft começou a remover esse recurso para diferentes versões do sistema operacional em julho de 2020. No entanto, a atualização cumulativa do Windows 10 para setembro de 2020 desativou o recurso em todas as edições do Windows 10 versão 2004.

A Microsoft afirma que os usuários ainda poderão reativar o recurso até fevereiro de 2021 por meio de comandos especiais, mas devem começar a trabalhar em métodos alternativos que serão discutidos mais adiante no artigo. Aqui está um notificação da Microsoft sobre a desativação do RemoteFX vGPU .

Como habilitar RemoteFX vGPU no Hyper-V em execução no Windows 10

Embora a Microsoft tenha desativado o recurso para habilitar o RemoteFX vGPU por meio do Hyper-V no Windows 10, ele ainda pode ser habilitado por meio de um comando usando o PowerShell. Além disso, as configurações de política de grupo ainda estão lá nos sistemas operacionais (VMs) convidados, que podem ser usados ​​para habilitar o recurso na VM como antes.

acinzentado

  1. Primeiro, ligue a VM para a qual deseja configurar este recurso e abra o Editor de Política de Grupo digitando gpedit.msc em execução.
  2. No Editor de Política de Grupo , navegue até o seguinte no painel esquerdo:
  3. Configuração do Computador -> Modelos Administrativos -> Componentes do Windows -> Serviços de Área de Trabalho Remota -> Host de Sessão de Área de Trabalho Remota -> Ambiente de Sessão Remota -> RemoteFX para Windows Server
  4. No painel direito, clique duas vezes em Configurar RemoteFX .
  5. No Configurar RemoteFX janela de propriedades, selecione Habilitado e clique em Aplicar e OK .
  6. Agora abra o prompt de comando e digite gpupdate / force para atualizar as políticas de grupo.
  7. Baixe e instale o driver de GPU recomendado de acordo com sua GPU física. Aqui está uma revisão detalhada de GPUs e como gerenciá-los .
  8. Agora desligue a VM e navegue de volta ao computador host que executa o Hyper-V.
  9. Desde o Adaptador de vídeo 3D RemoteFX opção está acinzentada nas configurações da VM, vamos habilitá-la por meio do PowerShell. Execute o PowerShell com direitos administrativos. Aqui está um guia completo sobre como sempre executar o PowerShell no modo administrativo.
  10. Digite o seguinte comando ao substituir (nome) pelo nome de sua máquina virtual:
    Add-VMRemoteFX3dVideoAdapter -VMName (name)
  11. Agora abra as configurações de VM através do painel de controle do Hyper-V e você encontrará o Adaptador de vídeo RemoteFX ED debaixo de Processador aba. Clique nele e faça as configurações de acordo com suas necessidades.
    vm settings remotefx

Agora você pode iniciar e se conectar à máquina virtual e ela usará a GPU da máquina host para processar sua carga de trabalho. Você também pode configurar várias VMs para serem executadas em uma GPU física compartilhada.

Alternativa para RemoteFX vGPU

A Microsoft está planejando permanentemente remover o recurso até fevereiro de 2021. No entanto, eles não deixaram seus usuários perdidos. A Microsoft também propôs uma solução alternativa para montar diretamente a GPU física na porta PCIe para uma VM por meio do Atribuição de dispositivo discreto (DDA).

Este método tem três fases que precisam ser concluídas a fim de fornecer a uma VM uma GPU dedicada:

  1. Configure a VM para DDA
  2. Desmonte a GPU do computador host
  3. Atribua a GPU à VM

Configure a VM para DDA

No computador host, execute os seguintes comandos um após o outro para definir suas configurações. Substitua (nome) pelo nome da 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)

Desmonte a GPU do computador host

Em primeiro lugar, você precisa desabilitar a GPU na porta PCIe e, em seguida, desmontá-la. Mas antes disso, você vai precisar do endereço físico do porto. Isso pode ser determinado executando o seguinte:

  1. Vá para o Gerenciador de Dispositivos digitando devmgmt.msc em Executar.
  2. Agora expanda Adaptadores de vídeo e clique com o botão direito na GPU. Selecione Propriedades no Menu de contexto.
  3. Vá para a guia Detalhes e selecione Caminhos de localização no menu suspenso em Propriedade.
  4. Observe que a entrada começa com PCIROOT, pois isso será necessário ao desmontar a GPU do dispositivo host.

Agora execute o seguinte para desmontar o dispositivo:

  1. Vá para o Propriedades janela da GPU do Gerenciador de Dispositivos .
  2. Vou ao Motorista guia e clique em Desabilitar dispositivo .

Agora que o dispositivo foi desativado, você precisa desmontá-lo.

Digite o seguinte comando no prompt de comando:
Dismount-VMHostAssignableDevice -force -LocationPath $(LocationPath)
Substitua (LocationPath) pelo caminho PCIe que você anotou anteriormente.

Uma vez feito isso, você pode prosseguir para a próxima fase.

Atribua a GPU à VM

Agora, tudo o que você precisa fazer é programar o Hyper-V para permitir que a VM especificada use a GPU física. Isso pode ser feito executando o comando abaixo no Prompt de Comando:
Add-VMAssignableDevice -LocationPath $locationPath -VMName (name)
Substitua (nome) pelo nome da VM.

Agora você pode iniciar o sistema operacional convidado e ver se o adaptador de vídeo que ele está usando agora será o físico em seu computador host.

Se a qualquer momento você desejar retornar a GPU ao dispositivo host, basta executar os dois comandos a seguir na mesma ordem, um após o outro, no prompt de comando enquanto substitui (nome) pelo nome da VM:
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

Palavras de encerramento

O RemoteFX vGPU não existe muito desde a versão 2004. No entanto, as pessoas gostaram da ideia. Vê-lo ir pode não ser tão problemático quanto o previsto, a menos que você coloque o fator de custo.

Embora a Microsoft tenha dado uma alternativa para o uso de GPUs designadas para cada máquina virtual, não seria ideal colocar tantas GPUs na placa-mãe do computador host quanto as máquinas virtuais. Os custos seriam muito altos e o consumo de energia não seria o ideal.

A Microsoft precisa encontrar uma solução alternativa para o problema, pois a solução fornecida não é viável para a maioria dos usuários.