KVM guest hangs at Escape character is ^] – SOLVED

By default GRUB for Ubuntu 16.04 doesn't provide connectivity via the console. As such this needs to be added and you will then be able to connect to the VM using:

virsh console VM-NAME

The first step is to mount the guest VM to a directory on the host such that GRUB on the guest can be edited. Run the following command on the host to mount the VM to a directory for editing:

sudo guestmount -d VM-NAME -i /mnt

Save the file and edit grub with the following:

sudo nano /mnt/etc/default/grub

Change the following line from:

GRUB_CMDLINE_LINUX=''

to

GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,19200n8'

The next step is to edit grub.cfg and add the ability to connect to the VM using the console:

sudo nano /mnt/boot/grub/grub.cfg

Scroll down to the section with the entry menuentry 'Ubuntu' –class ubuntu –class gnu-linux and add the following after the letters ro on the line starting with linux:

console=ttyS0,19200 earlyprint=serial,ttyS0,19200

The line will look something like the following:

linux   /boot/vmlinuz-4.4.0-92-generic root=UUID=cabab962-f23c-4a36-a5bd-0e43df6cff40 ro console=ttyS0,19200 earlyprint=serial,ttyS0,19200  quiet splash $vt_handoff

Save the file, and unmount the VM's filesystem using the following:

sudo guestunmount /mnt

Finally, restart the VM and connect to it's console as follows:

virsh start VM-NAME && virsh console VM-NAME