我正在尝试启动新构建的VM。我坚持以下。 想要从控制台开始,以便我可以包含此VM的用户名和其他信息:
@vmhost02 ~]$ sudo virsh start --console testengine
Domain testengine started
Connected to domain testengine
Escape character is ^]
它挂在那里,除了“^]”之外不听任何键
如果您需要更多有关任何想法的信息,请与我们联系......
非常感谢。
答案 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)
您可以尝试在来宾中修改/etc/default/grub
,并确保您拥有:
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
然后执行:
# update-grub
# reboot
如果这不起作用,请尝试将quiet
替换为console=ttyS0
GRUB_CMDLINE_LINUX_DEFAULT
中/etc/default/grub
的{{1}}:
GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"
然后再说:
# update-grub
# reboot
您可能仍需要尝试:
# 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
将按预期工作。