20

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

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

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

如果您需要更多信息以获取任何想法,请告诉我...

非常感谢。

4

3 回答 3

7

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)

如果这不起作用,请尝试quietconsole=ttyS0in GRUB_CMDLINE_LINUX_DEFAULTin替换/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"

再说一遍:

# update-grub
# reboot

3)

您可能仍需要尝试:

# systemctl enable serial-getty@ttyS0.service
# systemctl start serial-getty@ttyS0.service
# reboot
于 2016-11-04T14:17:57.983 回答
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]
于 2012-08-07T12:15:37.467 回答
1

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

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

然后virsh console应按预期工作。

于 2015-08-04T08:26:42.560 回答