Consola Virsh para máquina virtual Windows 10 (QEMU-KVM)

Consola Virsh para máquina virtual Windows 10 (QEMU-KVM)

Estoy intentando acceder a una máquina virtual de Windows 10 desde mi host Linux usando virsh console.

Pero cuando lo hago, obtengo la consola vacía que muchos otros han experimentado.

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

Y no puedo escribir nada. De todos modos, ¿hay alguna configuración que pueda hacer en la VM para permitir esto, específicamente para Windows? Gracias

Respuesta1

virsh consolees una consola TTY, que es lauarteen la VM (también conocido como "el puerto COM"). ¿Su Windows 10 envía algo a este puerto COM?

Windows espera que salga un hardware VGA, así que configure un VNC para la VM y conéctese con VNC Viewer para interactuar con la VM. Para que esto sea posible, configurarías en la libvirtconfiguración del dominio xml algo como esto:

    <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>

(Es posible que necesite utilizar otra dirección de ranura PCI y un puerto TCP para VNC en esta máquina).

Luego reinicie (detenerentoncescomenzar) una VM y confirme que qemu esté escuchando en el puerto elegido:

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 

Aviso, en mi caso escuchaservidor local, por seguridad.

Para conectarse a través de un túnel SSH, utilice un reenvío de puerto TCP. Está integrado en el paquete de cliente VNC estándar de Linux:

vncviewer -via virtualization.host.name localhost:1

(para conectarse al VNC del 5901 se utiliza la pantalla VNC 1). Se conectará a través de SSH virtualization.host.namey reenviará algún puerto local al localhost:5901servidor, tal como lo necesitemos; luego conecta el cliente VNC a este puerto reenviado. Entonces su VNC estará protegido con SSH.

O puede escuchar en cualquier dirección IP (menos segura). O puedes configurar este túnel TCP de otra manera. Pero la forma que presenté aquí es más conveniente. O me olvidé de eso, lo uso virt-viewerpara conectarme a la pantalla, no lo usé durante mucho tiempo.

Además, Windows Server admite (al menos, lo admitió hace algún tiempo) unconsola de administración especial (SAC)que se ejecuta en el puerto COM y se puede utilizar para realizar algunas operaciones (eliminación de tareas, etc.). Se puede acceder a esta consola con virsh console. Pero dudo que Windows 10 tenga eso.

Respuesta2

virsh consoleabre la VMconsola serie, si lo tiene. Si no es así, como ocurre generalmente con Windows, no pasa nada.

Deberías utilizar virt-viewerpara ver máquinas virtuales con consolas gráficas, o mejor aún, la bien integrada virt-manager.

información relacionada