Bildschirmauflösung für virtuelle Maschinen unter Hyper-V ändern


    Tags: ,

    vmConnect lässt sich auch unabhängig von Hyper-V Manager nutzenVerbindet man sich mit einer virtu­ellen Maschine unter Hyper-V, dann öffnet der Hyper-V Manager auto­matisch eine Remote­desktop-Sitzung. Je nachdem welches Betriebs­system oder welche Version von Windows in der VM läuft, kann man die Bildschirm­auf­lösung auf ver­schiedene Arten anpassen.

    Im Gegensatz zu einem Desktop-Hypervisor wie VirtualBox oder VMware Workstation laufen VMs unter Hyper-V grundsätzlich "headless". Eine Interaktion mit dem Gastsystem setzt deshalb voraus, dass man mit ihm eine RDP-Verbindung aufbaut.

    Direkte RDP-Verbindung über den Hypervisor

    Dafür ist es allerdings nicht notwendig, das Gast-OS für Remotedesktop zu konfigurieren und eine Sitzung über den normalen RDP-Client zu initiieren. Vielmehr kann man eine Session direkt über den Hypervisor herstellen, selbst wenn der Gast gar kein RDP unterstützt (siehe dazu: Mit VMs verbinden über VMConnect und Remotedesktop).

    Die einfache Variante der VMConnect-Verbindung ist im Vergleich zu einem normalen Remotedesktop ziemlich eingeschränkt und erlaubt etwa nicht, Ressourcen des Clients wie lokale Laufwerke oder die Zwischenablage in die Remote-Session einzublenden.

    Aus diesem Grund führte Microsoft mit Windows 8.1 und Server 2012 R2 den erweiterten Sitzungsmodus ein, der die meisten Limitierungen des Basismodus überwindet. Die Art und Weise, wie man die Bildschirm­auflösung ändern kann, hängt auch davon ab, welchen Sitzungsmodus man verwendet.

    Einfacher Sitzungsmodus

    Die einfache Variante von VMConnect wird man meistens dann nutzen, wenn der erweiterte Sitzungsmodus nicht zur Verfügung steht, also wenn in der VM einer älteres Windows oder ein Linux läuft.

    Im einfachen Sitzungsmodus lässt sich die Bildschirmauflösung auf gewohnte Weise ändern.

    Handelt es sich um Windows 7 oder höher, dann lässt sich die Auflösung wie bei einem physikalischen Rechner ändern. Führt man aus dem Kontextmenü des Desktops den Befehl Bildschirm­auflösung bzw. Anzeigeeinstellungen aus, dann stehen diverse Modi zur Verfügung.

    Auflösung vor dem VM-Start ändern

    Läuft der Hyper-V-Host unter Windows 10 oder mindestens Server 2016 und handelt es sich beim Gast-OS ebenfalls um eine dieser beiden Windows-Versionen, dann steht mit PowerShell eine weitere Option zur Verfügung.

    Zuständig für die Änderung der Bildschirmauflösung von VMs ist das Cmdlet Set-VMVideo. Es erwartet die Angabe des VM-Namens sowie der horizontalen bzw. vertikalen Auflösung. Ein Aufruf erfolgt nach dem Muster

    Set-VMVideo -VMName MyVM -ResolutionType Single `
    -HorizontalResolution 1024 -VerticalResolution 768

    Mit Set-VMVideo kann man vor dem Start einer VM die Auflösung für den einfachen Sitzungsmodus festlegen.

    Um dieses Kommando ausführen zu können, muss die VM ausgeschaltet sein. Es ändert dann die Bildschirmauflösung für den einfachen Sitzungsmodus. Der ResolutionType Single bewirkt, dass im Gastsystem nur mehr diese Auflösung verfügbar ist, Der Wert Maximum lässt auch alle kleineren Größen zu. Die aktuelle Einststellung kann man mit Get-VMVideo erfragen.

    Bildschirmauflösung für Linux-VM anpassen

    Läuft in der VM jedoch Linux, dann bietet die GUI im Pulldown-Menü nur die aktuell eingestellte Auflösung zur Auswahl an. Um diese zu ändern, muss man die Konfigurations­datei für den GRUB-Bootloader editieren.

    Dazu gibt man in einem Terminal­fenster folgendes Kommando ein:

    sudo vi /etc/default/grub

    Dort sucht man nach der Zeile, die mit GRUB_CMDLINE_LINUX_DEFAULT beginnt und ergänzt sie um den Eintrag video=hyperv_fb:<Breite>x<Höhe>.

    Unter Linux muss man die Konfiguration von GRUB anpassen, um die Bildschirmauflösung zu ändern.

    Nach dem Speichern der Datei führt man noch den Befehl

    sudo update-grub

    aus und startet die VM neu. Alternativ zu vi kann man für diese Aufgabe natürlich auf einen anderen Editor verwenden.

    Erweiterter Sitzungsmodus

    Nutzt man mit den neueren Versionen von Windows den erweiterten Sitzungsmodus, dann erscheint beim Start des Gastbetriebs­systems automatisch ein Dialog, in dem man per Schieberegler die Auflösung ändern kann. Dort besteht auch die Möglichkeit, den Zugriff auf lokale Ressourcen zu konfigurieren, wenn man das Fenster mittels Optionen erweitert.

    Der Erweiterte Sitzungsmodus startet mit der Konfiguration der Bildschirmauflösung.

    Wenn man anschließend die Bildschirm­auflösung von innerhalb der VM ändern möchte, dann ist das entsprechende Menü in der Systemsteuerung ausgegraut und es erscheint der Hinweis, dass man die Anzeigeeinstellungen in der Remote-Sitzung nicht ändern.

    Im erweiterten Sitzungsmodus lässt sich die Auflösung nicht von innerhalb der VM ändern.

    Hat man im ersten Dialog, der beim Hochfahren des Gastsystems erscheint, nach der Auswahl der gewünschten Auflösung die Option Die Einstellungen sollen für künftige Verbindungen mit diesem virtuellen Computer gelten angehakt, weil man nicht jedes Mal gefragt werden möchte, dann erscheint er bei späteren Starts der VM nicht mehr.

    Hat man die Auflösung für den erweiterten Sitzungsmodus gespeichert, dann muss man vmconnect aufrufen, um sie zu ändern.

    Wenn man in diesem Fall die Auflösung nachträglich ändern oder den Zugriff auf lokale Ressourcen anders regeln will, dann kann man die Einstellungen von VMConnect für diese VM durch einen solchen Aufruf bearbeiten:

    vmconnect <Hyper-V-Host> <Name der VM> /edit

    Voraussetzung dafür, dass der Dialog mit den Einstellungen erscheint, ist nicht nur, dass der erweiterte Sitzungs­modus auf dem Host aktiviert ist und eine neuere Version von Windows in der VM läuft. Zusätzlich muss das Gast-OS in der virtuellen Maschine vollständig gebootet sein. Ist die VM ausgeschaltet, erscheint nur das leere Fenster von VMConnect.

    Alternativ bietet der Hyper-V Manager eine GUI-Option an, wenn für eine bestimmte VM die RDP-Einstellungen gespeichert wurden. In diesem Fall findet sich in der rechten Leiste der Menüpunkt Sitzungsoptionen bearbeiten.

    Mittels &quot;Sitzungsoptionen bearbeiten&quot; lassen sich gespeicherte Einstellungen ändern.

    Bei Sitzungsoptionen bearbeiten darf zudem keine Verbindung mit der VM existieren, weil der Befehl sonst nur zur bestehenden RDP-Session umschaltet.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    3 Kommentare

    Seit längerem suche ich wie verrückt nach einer Lösung für meine VM, warum diese trotz erweiterten Sitzungsmodus die Auflösung nicht höher schalten kann, obwohl alle anderen VMs (alle Server 2012r2) dies können.

    Selbst die MS Foren halfen nicht...
    vmconnect -Hyper-V-Host- -Name der VM- /edit

    war die Lösung !!!!

    hallo,
    war hilfreich, aber oben bitte mal den powershell befehl korrigieren -> horizontal resolution (fehlt das t, is blöd wenn man c&p macht) - DANKE

    Bild von Wolfgang Sommergut

    Danke, ist erledigt!