Virsh-Konsole für Windows 10 VM (QEMU-KVM)

Virsh-Konsole für Windows 10 VM (QEMU-KVM)

Ich versuche, von meinem Linux-Host aus mithilfe von auf eine virtuelle Windows 10-Maschine zuzugreifen virsh console.

Aber wenn ich das tue, erhalte ich die leere Konsole, die viele andere erlebt haben.

virsh console win10
Connected to domain 'win10'
Escape character is ^] (Ctrl + ])

Und ich kann überhaupt nicht tippen. Gibt es trotzdem eine Konfiguration, die ich in der VM vornehmen kann, um dies speziell für Windows zu ermöglichen? Danke

Antwort1

virsh consoleist eine TTY-Konsole, dieuartin der VM (auch bekannt als „der COM-Port“). Gibt Ihr Windows 10 etwas über diesen COM-Port aus?

Windows erwartet eine VGA-Hardware für die Ausgabe. Konfigurieren Sie daher ein VNC für die VM und stellen Sie eine Verbindung mit VNC Viewer her, um mit der VM zu interagieren. Damit dies möglich ist, konfigurieren Sie in der libvirtXML-Domänenkonfiguration etwas wie Folgendes:

    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='no'/>
    <video>
      <model type='cirrus' vram='5120' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

(möglicherweise müssen Sie für VNC zu diesem Computer eine andere PCI-Steckplatzadresse und einen anderen TCP-Port verwenden).

Starten Sie dann neu (stoppenDannStart) eine VM und bestätigen Sie, dass QEMU auf dem ausgewählten Port lauscht:

vh1 ~ # netstat -lnpt | grep 590
tcp        0      0 127.0.0.1:5900          0.0.0.0:*               LISTEN      1774/qemu-system-x8 
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      13692/qemu-system-x 
tcp        0      0 127.0.0.1:5902          0.0.0.0:*               LISTEN      2526/qemu-system-x8 
tcp        0      0 127.0.0.1:5903          0.0.0.0:*               LISTEN      3755/qemu-system-x8 

Beachten Sie, in meinem Fall hört es auflokaler Host, aus Sicherheitsgründen.

Um eine Verbindung über einen SSH-Tunnel herzustellen, verwenden Sie eine TCP-Portweiterleitung. Diese ist im Standardpaket des Linux-VNC-Clients integriert:

vncviewer -via virtualization.host.name localhost:1

(Um eine Verbindung zum VNC des 5901 herzustellen, verwenden Sie VNC-Bildschirm 1). Es wird über SSH eine Verbindung zum hergestellt virtualization.host.nameund ein lokaler Port an den localhost:5901Server weitergeleitet, genau wie wir es brauchen; dann wird der VNC-Client mit diesem weitergeleiteten Port verbunden. So wird Ihr VNC mit SSH gesichert.

Oder Sie können auf jeder beliebigen IP-Adresse lauschen (weniger sicher). Oder Sie können diesen TCP-Tunnel auf andere Weise einrichten. Aber die hier vorgestellte Methode ist bequemer. Oder ich habe das vergessen, verwende es virt-viewerzur Verbindung mit dem Bildschirm, habe es ewig nicht benutzt.

Außerdem unterstützt Windows Server (zumindest seit einiger Zeit) einespezielle Administrationskonsole (SAC)das auf dem COM-Port läuft und für einige Operationen (Task Kill usw.) verwendet werden kann. Auf diese Konsole kann mit zugegriffen werden virsh console. Ich bezweifle jedoch, dass Windows 10 das hat.

Antwort2

virsh consoleöffnet die VMsSerielle Konsole, falls vorhanden. Wenn nicht, passiert, wie bei Windows im Allgemeinen, nichts.

Sie sollten virt-viewerzum Anzeigen von VMs grafische Konsolen oder noch besser die gut integrierte verwenden virt-manager.

verwandte Informationen