Jak włączyć obsługę RemoteFX vGPU w Hyper-V?

Wypróbuj Nasz Instrument Do Eliminowania Problemów

Przydatna funkcja, która została wprowadzona nie tak dawno temu w systemie Windows 10, została teraz wyłączona. Funkcja RemoteFX vGPU umożliwia użytkownikom maszyn wirtualnych (VM) z systemem Windows Server 2008 R2, Server 2012, Server 2016 i Windows 10 z systemem Hyper-V korzystanie z fizycznej jednostki przetwarzania grafiki (GPU) maszyny hosta do renderowania jej grafiki wyjście.

W najnowszej aktualizacji firmy Microsoft dla systemu Windows 10, KB4571757 , firma Microsoft zdecydowała się zaprzestać korzystania z tej funkcji ze względu na krytyczną lukę w zabezpieczeniach funkcji Remote Code Execution.

Przyjrzyjmy się szczegółom tej funkcji, dlaczego została przerwana i czy możemy znaleźć sposób, aby nadal działała. Szybkie podsumowanie ukryć 1 Co to jest RemoteFX vGPU? 2 Dlaczego firma Microsoft usunęła funkcję RemoteFX vGPU? 3 Jak włączyć RemoteFX vGPU w Hyper-V w systemie Windows 10? 4 Alternatywa dla RemoteFX vGPU 4.1 Skonfiguruj maszynę wirtualną dla DDA 4.2 Odłącz GPU od komputera-hosta 4,3 Przypisz procesor graficzny do maszyny wirtualnej 5 Słowa zamykające

Co to jest RemoteFX vGPU?

Maszyny wirtualne działające w Hyper-V mogą używać fizycznego procesora graficznego na komputerze hosta do wykonywania swoich zadań dotyczących renderowania wideo i przetwarzania obrazu za pomocą funkcji RemoteFX vGPU. Pozwala to użytkownikom odciążyć procesor i uruchomić intensywne przetwarzanie obrazu na swoich maszynach wirtualnych przy użyciu współdzielonego procesora graficznego.

Dzięki tej funkcji dedykowany procesor graficzny dla każdej maszyny wirtualnej nie jest wymagany, a jednocześnie zapewnia zwiększoną skalowalność i użyteczność procesora graficznego oraz maszyn wirtualnych. Udaj się do Strona internetowa firmy Microsoft aby dowiedzieć się więcej o tej funkcji.

Dlaczego firma Microsoft usunęła funkcję RemoteFX vGPU?

Chociaż funkcja RemoteFX vGPU jest stara, ponieważ została wprowadzona w systemie Windows 7, jest obecnie wykorzystywana przez hakerów do wykonywania zdalnych poleceń na komputerze hosta. Ta funkcja nie umożliwia uwierzytelnienia danych wejściowych prawidłowego użytkownika na maszynie wirtualnej. Haker może wykorzystać tę lukę do uruchamiania zmodyfikowanych aplikacji na maszynie wirtualnej w celu wykorzystania sterowników procesora GPU hosta i uzyskania dostępu. Po uzyskaniu dostępu do komputera hosta mogą wykonywać zdalne polecenia i skrypty.

Chociaż Microsoft usuwa takie luki poprzez regularne aktualizacje, nie był w stanie tego zrobić, ponieważ luka ma charakter architektoniczny.

Firma Microsoft zaczęła usuwać tę funkcję dla różnych wersji systemu operacyjnego w lipcu 2020 r. Jednak zbiorcza aktualizacja systemu Windows 10 z września 2020 r. wyłączyła tę funkcję we wszystkich wersjach systemu Windows 10 w wersji 2004.

Microsoft twierdzi, że użytkownicy nadal będą mogli ponownie włączyć tę funkcję do lutego 2021 r. Za pomocą specjalnych poleceń, ale powinni rozpocząć pracę nad alternatywnymi metodami, które zostaną omówione w dalszej części artykułu. Tutaj jest powiadomienie Microsoft o wyłączeniu RemoteFX vGPU .

Jak włączyć RemoteFX vGPU w Hyper-V w systemie Windows 10?

Chociaż firma Microsoft wyszarzała funkcję włączania RemoteFX vGPU przez Hyper-V w systemie Windows 10, nadal można ją włączyć za pomocą polecenia za pomocą PowerShell. Co więcej, ustawienia zasad grupy nadal znajdują się w gościnnych systemach operacyjnych (VM), które można wykorzystać do włączenia tej funkcji na maszynie wirtualnej, tak jak poprzednio.

wyszarzone

  1. Najpierw włącz maszynę wirtualną, na której chcesz skonfigurować tę funkcję, i otwórz Edytor zasad grupy, wpisując gpedit.msc w Uruchom.
  2. w Edytor zasad grupy , przejdź do następujących pozycji z lewego okienka:
  3. Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Usługi pulpitu zdalnego -> Host sesji usług pulpitu zdalnego -> Środowisko sesji zdalnej -> RemoteFX dla systemu Windows Server
  4. W prawym okienku kliknij dwukrotnie Skonfiguruj RemoteFX .
  5. w Skonfiguruj RemoteFX okno właściwości, wybierz Włączony , a następnie kliknij Zastosować oraz Ok .
  6. Teraz otwórz wiersz polecenia i wpisz gpupdate / życie aby zaktualizować zasady grupy.
  7. Pobierz i zainstaluj zalecany sterownik GPU zgodnie z fizycznym GPU. Oto szczegółowy przegląd GPU i jak nimi zarządzać .
  8. Teraz zamknij maszynę wirtualną i wróć do komputera hostującego z uruchomioną funkcją Hyper-V.
  9. Ponieważ Adapter wideo RemoteFX 3D opcja jest wyszarzona w ustawieniach maszyny wirtualnej, włączymy ją przez PowerShell. Uruchom PowerShell z prawami administracyjnymi. Oto kompletny przewodnik, jak zawsze uruchamiać PowerShell w trybie administracyjnym.
  10. Wpisz następujące polecenie, zastępując (name) nazwą swojej maszyny wirtualnej:
    Add-VMRemoteFX3dVideoAdapter -VMName (name)
  11. Teraz otwórz Ustawienia maszyny wirtualnej za pomocą panelu sterowania Hyper-V, a znajdziesz Adapter wideo RemoteFX ED pod Edytor patka. Kliknij na niego, a następnie dokonaj konfiguracji zgodnie z własnymi potrzebami.
    ustawienia VM remotefx

Możesz teraz uruchomić i połączyć się z maszyną wirtualną, która będzie teraz używać procesora GPU hosta do przetwarzania obciążenia. Możesz także skonfigurować wiele maszyn wirtualnych do działania na współdzielonym fizycznym procesorze GPU.

Alternatywa dla RemoteFX vGPU

Microsoft na stałe planuje usunąć tę funkcję do lutego 2021 r. Jednak nie pozostawił swoich użytkowników na pastwę losu. Microsoft zaproponował również alternatywne rozwiązanie bezpośredniego montażu fizycznego procesora graficznego na porcie PCIe do maszyny wirtualnej za pośrednictwem Przypisanie urządzeń dyskretnych (DDA).

Ta metoda ma trzy fazy, które należy wykonać, aby zapewnić maszynie wirtualnej dedykowaną kartę graficzną:

  1. Skonfiguruj maszynę wirtualną dla DDA
  2. Odłącz GPU od komputera-hosta
  3. Przypisz procesor graficzny do maszyny wirtualnej

Skonfiguruj maszynę wirtualną dla DDA

Na komputerze hosta uruchom kolejno następujące polecenia, aby skonfigurować jego ustawienia. Zastąp (nazwa) nazwą maszyny wirtualnej:

  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)

Odłącz GPU od komputera-hosta

Najpierw musisz wyłączyć GPU na porcie PCIe, a następnie go zdemontować. Ale wcześniej będziesz potrzebować fizycznego adresu portu. Można to ustalić, wykonując następujące czynności:

  1. Przejdź do Menedżera urządzeń, wpisując devmgmt.msc w Run.
  2. Teraz rozwiń Karty graficzne i kliknij prawym przyciskiem myszy GPU. Wybierz Właściwości z menu kontekstowego.
  3. Przejdź do karty Szczegóły i wybierz Ścieżki lokalizacji z menu rozwijanego w obszarze Usługa.
  4. Zauważ, że wpis zaczyna się od PCIROOT, ponieważ będzie to wymagane podczas odłączania GPU od urządzenia hosta.

Teraz wykonaj następujące czynności, aby zdemontować urządzenie:

  1. Udaj się do Nieruchomości okno GPU od Menadżer urządzeń .
  2. Przejdź do Kierowca zakładkę, a następnie kliknij Wyłączyć urządzenie .

Teraz, gdy urządzenie zostało wyłączone, musisz je zdemontować.

Wprowadź następujące polecenie w wierszu polecenia:
Dismount-VMHostAssignableDevice -force -LocationPath $(LocationPath)
Zastąp (LocationPath) ścieżką PCIe, którą zanotowałeś wcześniej.

Po zakończeniu możesz przejść do następnej fazy.

Przypisz procesor graficzny do maszyny wirtualnej

Teraz wystarczy zaprogramować Hyper-V, aby określona maszyna wirtualna mogła korzystać z fizycznego GPU. Można to zrobić, uruchamiając poniższe polecenie w wierszu polecenia:
Add-VMAssignableDevice -LocationPath $locationPath -VMName (name)
Zastąp (nazwa) nazwą maszyny wirtualnej.

Możesz teraz uruchomić system operacyjny gościa i zobaczyć, że używana karta wideo będzie kartą fizyczną na komputerze hosta.

Jeśli w dowolnym momencie zechcesz zwrócić GPU z powrotem do urządzenia hosta, po prostu uruchom następujące dwa polecenia w tej samej kolejności, jedno po drugim, w wierszu polecenia, zastępując (nazwa) nazwą maszyny wirtualnej:
Remove-VMAssignableDevice -LocationPath $locationPath -VMName VMName
Mount-VMHostAssignableDevice -LocationPath $locationPath

Słowa zamykające

RemoteFX vGPU nie było zbyt wiele w wersji 2004. Jednak ludziom spodobał się ten pomysł. Widzenie tego może nie być tak kłopotliwe, jak się spodziewano, chyba że uwzględnisz czynnik kosztów.

Chociaż Microsoft dał alternatywę dla używania wyznaczonych procesorów graficznych dla każdej maszyny wirtualnej, umieszczenie tylu procesorów graficznych na płycie głównej komputera hosta, co maszyn wirtualnych, nie byłoby idealnym rozwiązaniem. Koszty byłyby zbyt wysokie, a zużycie energii nie byłoby idealne.

Firma Microsoft musi znaleźć obejście problemu, ponieważ dostarczone rozwiązanie nie jest możliwe dla większości użytkowników.