virsh控制台挂起转义字符“^]”

时间:2012-08-07 11:46:50

标签: console virtual-machine

我正在尝试启动新构建的VM。我坚持以下。 想要从控制台开始,以便我可以包含此VM的用户名和其他信息:

   @vmhost02 ~]$ sudo virsh start --console testengine
   Domain testengine started
   Connected to domain testengine
   Escape character is ^]

它挂在那里,除了“^]”之外不听任何键

如果您需要更多有关任何想法的信息,请与我们联系......

非常感谢。

3 个答案:

答案 0 :(得分:6)

您需要定义一个tty用作虚拟控制台。如果您使用vnc或ssh访问您的虚拟机,请创建以下文件

vi /etc/init/ttyS0.conf

内容应该是

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L 38400 ttyS0 vt102  # This is your term type vt102

保存这些设置,然后保存在主机上

 virsh destroy [vm-name]; service libvirtd stop; service libvirtd start; virsh start [vm-name]

我在这里做了一个libvirt的停止/启动,因为它有时候不会向libvirt发送SIGTERM。

最后尝试

 virsh console [vm-name]

答案 1 :(得分:5)

1)

您可以尝试在来宾中修改/etc/default/grub,并确保您拥有:

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

然后执行:

# update-grub
# reboot

2)

如果这不起作用,请尝试将quiet替换为console=ttyS0 GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub的{​​{1}}:

GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"

然后再说:

# update-grub
# reboot

3)

您可能仍需要尝试:

# systemctl enable serial-getty@ttyS0.service
# systemctl start serial-getty@ttyS0.service
# reboot

答案 2 :(得分:1)

可能比val0x00ff的解决方案更简单,你应该在VM的console=ttyS0文件的内核行末尾添加/boot/grub2/grub.cfg(默认情况下不会这样做):

   (vm)$> grubby --update-kernel=ALL --args="console=ttyS0"
   (vm)$> reboot

然后virsh console将按预期工作。