Hyper-V: Ubuntu 16.04 und remoteFX

8

Ich habe Windows 10 Pro und eine Ubuntu 16.04-Installation als Gast in meinem Hyper-V. Die Videoleistung ist ziemlich schlecht (im Vergleich zum VMWare Player um eine Größenordnung abgehackter). Um dies zu vermeiden, versuche ich, die Hardwarebeschleunigung zu aktivieren. Ich habe jedoch einige Probleme.

Ich habe die remoteFX hinzugefügt (die meine GFX 970 passieren sollte), aber ich kann die Auflösung des Ubuntu-Gasts nicht ändern, der nur eine Option hat (800x600).

Haben Sie Erfahrung damit oder VMWare ist die einzig praktikable Option für flüssige GUI-Linux-Gäste?

Ich habe folgendes gefunden: MicrosoftFeedback

Ich werde versuchen, mich zu melden

Nikferrari
quelle
Machen Sie sich keine Sorgen, da Hyper-V keine Unterstützung bietet. VirtualBox und VmWare tun dies, Hyper-V jedoch nicht. Installieren Sie einen Desktop-Manager, der rdp unterstützt (z. B. Mate with xrdp), oder verwenden Sie VNC. Viel Glück!
EF Nijboer

Antworten:

5
  1. Terminal öffnen
  2. Geben Sie Folgendes ein : sudo vi / etc / default / grub Suchen Sie die Zeile
  3. Beginnen Sie mit GRUB_CMDLINE_LINUX_DEFAULT und fügen Sie video = hyperv_fb: [die gewünschte Auflösung] hinzu. Die Auflösung, die ich möchte, ist 1280x720. Meine Zeile sieht also folgendermaßen aus: GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash video = hyperv_fb: 1280x720"
  4. Schreiben Sie die Änderungen und beenden Sie vi.
  5. Führen Sie aus: sudo update-grub
  6. Starten Sie die virtuelle Maschine neu

Ich habe das auf msdn Blog gefunden , es hat bei mir funktioniert.

Rohit
quelle
Dies funktioniert, ist aber nicht so schnell wie vmWare und insbesondere nicht so schnell wie VirtualBox. Es kann sich lohnen, hinzuzufügen, dass Sie fast jede Auflösung hinzufügen können.
Trinimon
Vielen Dank, es funktioniert gut für Ubuntu 19.0.4 in Hyper-V unter Windows 10.
Alexey Popkov
1

Ich suchte auch nach einer Möglichkeit, die Auflösung zu ändern, und bearbeitete / etc / default / grub, bis ich Sneak Peek: Einen Dreh mit erweiterten Linux-VMs von Microsoft fand, das jetzt Links zu virtuellen Ubuntu-Maschinen enthält, die noch einfacher sind Hyper-V-Schnellerstellung . Ich habe versucht, das zu tun, was sie unter Ubuntu 18.04 auf zwei Computern unter Windows 10 Pro Version 1803 (OS Build 17134.112) beschreiben. Ich habe auf beiden Computern das gleiche Ergebnis erzielt, auch wenn auf beiden Computern die folgende Ausgabe ausgegeben Get-Help Get-VMwurde.

SYNTAX
    Get-VM [[-Name] <String[]>] [-CimSession <CimSession[]>] [-ComputerName <String[]>] [-Credential <PSCredential[]>]
    [<CommonParameters>]

    Get-VM [[-Id] <Guid>] [-CimSession <CimSession[]>] [-ComputerName <String[]>] [-Credential <PSCredential[]>]
    [<CommonParameters>]

    Get-VM [-ClusterObject] <PSObject> [<CommonParameters>]

Wie Sie sehen können, wird der zu verwendende Powershell-Befehl nicht einmal gemeldet und ausgeführt, Update-Helpbevor Get-Help Get-VMseine Ausgabe geändert wurde. Die in diesem Artikel beschriebene Prozedur funktioniert jedoch genauso.

Die Anweisungen in diesem Artikel beziehen sich auf Ubuntu 16.04, die angegebenen Dateien jedoch auf Ubuntu 16.04 und Ubuntu 18.04. Es gibt einen kleinen Unterschied zwischen dem, was für Ubuntu 16.04 und Ubuntu 18.04 getan werden muss, und ich werde diesen Unterschied hervorheben.

Der entscheidende Teil des Verfahrens ist ein Powershell-Befehl. Da ich das Verfahren nicht auf anderen Windows-Versionen getestet habe, kann ich nicht sicherstellen, dass es auf jeder Windows-Version funktioniert, auch nicht auf jeder Windows 10-Version.

Auf der Seite des Gastbetriebssystems müssen Sie:

  • Installieren Sie Git
  • Klonen Sie https://github.com/Microsoft/linux-vm-tools.git
  • Führen Sie linux-vm-tools / ubuntu / 16.04 / install.sh und linux-vm-tools / ubuntu / 16.04 / config-user.sh aus (nachdem Sie sie ausführbar gemacht haben).

Beachten Sie, dass install.sh zweimal ausgeführt werden muss. Danach können Sie config-user.sh ausführen.
Wenn Sie dies stattdessen für Ubuntu 18.04 tun, lautet das Verzeichnis linux-vm-tools / ubuntu / 18.04, und es gibt keine Datei config-user.sh. (Sie müssen nur install.sh ausführen.)

Wenn Sie Ubuntu gerade installiert haben oder es lange Zeit nicht aktualisiert haben, würde ich empfehlen, es sudo apt-get update && sudo apt-get ugradevor install.sh auszuführen und alle Aktualisierungsprobleme zu beheben, bevor Sie install.sh ausführen.

Von der Seite des Host-Betriebssystems müssen Sie:

  • Fügen Sie der virtuellen Maschine unter Ubuntu RemoteFX 3D Video Adapter- Hardware hinzu

    Bildschirmfoto

  • Wählen Sie in den Hyper-V-Einstellungen die zu verwendende GPU aus und aktivieren Sie sie für RemoteFx

    Bildschirmfoto

  • Aktivieren Sie in den Hyper-V-Einstellungen den erweiterten Sitzungsmodus

    Bildschirmfoto

  • Führen Sie in einem als Administrator geöffneten Powershell-Fenster den folgenden Befehl aus

    Set-VM -VMName <ubuntu-vm-name>  -EnhancedSessionTransportType HvSocket
    

(Ersetzen Sie <ubuntu-vm-name>durch den Namen Ihrer virtuellen Maschine, auf der Ubuntu ausgeführt wird.)

Wenn beim Neustart der virtuellen Ubuntu-Maschine alles in Ordnung war, wird das folgende Fenster angezeigt.

Bildschirmfoto

Wenn Sie auf Optionen anzeigen klicken , erhalten Sie weitere Freigabeoptionen, z. B. zum Freigeben der Zwischenablage (Gast zum Hosten und umgekehrt) oder zum Freigeben des Druckers.

Bildschirmfoto

Sie können auch die Einstellungen für zukünftige Verbindungen zu derselben virtuellen Maschine speichern. In diesem Fall wird dieses Fenster jedoch nicht mehr angezeigt. Ich habe versehentlich auf Einstellungen für zukünftige Verbindungen zu dieser virtuellen Maschine speichern geklickt und musste den Namen in die virtuelle Maschine ändern und Set-VM -VMName <ubuntu-vm-name> -EnhancedSessionTransportType HvSocketerneut ausführen , um das Einstellungsfenster anzuzeigen.

Nachdem Sie auf Verbinden geklickt haben , wird das folgende Fenster angezeigt, in dem Sie sich bei Ubuntu anmelden können.

Bildschirmfoto

Die Anweisungen für das Gastbetriebssystem werden gegeben:

  • Stattdessen git clone https://github.com/Microsoft/linux-vm-tools.git ~/linux-vm-toolskönnen Sie ausführencd && git clone https://github.com/Microsoft/linux-vm-tools.git

  • Es ist nicht hinzuzufügen , erforderlich sudoin , sudo chmod +x install.shda die Datei in Ihrem Home - Verzeichnis ist und Sie sind der Eigentümer der Datei.

Abschließend sei angemerkt, dass die Remote-Audioeinstellungen mit Ubuntu nicht funktionieren. Soweit ich verstanden habe, funktionieren sie nur, wenn das Gastbetriebssystem Windows ist.

kiamlaluno
quelle
Hinweis für andere: Bevor Sie den Vorgang ausführen, überprüfen Sie, ob -EnhancedSessionTransportType eine Option für den Set-VM-Befehl auf Ihrem Computer ist (führen Sie Set-VM -help aus). Dies funktioniert derzeit nur bei MS-Insider-Builds.
Anton Belov
Ich verwende derzeit keine Insider-Vorschau. Ich verwende Windows 10 Pro Version 1803 (OS Build 17134.112).
Kiamlaluno
Ich habe es auf einem zweiten Computer versucht, auf dem dieselbe Windows-Version ausgeführt wird. Der Befehl wurde nicht von aufgelistet Get-Help Get-VM, aber die Prozedur funktionierte genauso. Ich denke, dass der Befehl implementiert, aber nicht aufgeführt ist.
Kiamlaluno
Tatsächlich wird auf beiden Computern der Befehl, der verwendet werden soll, nicht von aufgelistet Get-Help Get-VM.
Kiamlaluno
1
Unter Windows 10 Pro 1809 meldet HyperV, dass RemoteFX-Adapter nicht mehr unterstützt werden, sodass nichts davon funktioniert.
user7860670