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

iam*_*ser 16 console virtual-machine

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

   @vmhost02 ~]$ sudo virsh start --console testengine
   Domain testengine started
   Connected to domain testengine
   Escape character is ^]
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢.

Peq*_*que 7

1)

您可以尝试/etc/default/grub在访客中进行编辑,并确保您拥有:

GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
Run Code Online (Sandbox Code Playgroud)

然后执行:

# update-grub
# reboot
Run Code Online (Sandbox Code Playgroud)

2)

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

GRUB_CMDLINE_LINUX_DEFAULT="... console=ttyS0"
Run Code Online (Sandbox Code Playgroud)

然后再说:

# update-grub
# reboot
Run Code Online (Sandbox Code Playgroud)

3)

您可能仍需要尝试:

# systemctl enable serial-getty@ttyS0.service
# systemctl start serial-getty@ttyS0.service
# reboot
Run Code Online (Sandbox Code Playgroud)

  • 在centos 7 `update-grub` 是`grub2-mkconfig -o /boot/grub2/grub.cfg` (2认同)

Val*_*ami 6

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

vi /etc/init/ttyS0.conf
Run Code Online (Sandbox Code Playgroud)

内容应该是这样的

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

respawn
exec /sbin/getty -L 38400 ttyS0 vt102  # This is your term type vt102
Run Code Online (Sandbox Code Playgroud)

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

 virsh destroy [vm-name]; service libvirtd stop; service libvirtd start; virsh start [vm-name]
Run Code Online (Sandbox Code Playgroud)

我在这里做libvirt的停止/启动,因为它有时往往不会发送SIGTERM到libvirt.

最后试试

 virsh console [vm-name]
Run Code Online (Sandbox Code Playgroud)

  • 我没有 SSH 访问虚拟机的权限,也没有 vnc 的权限。 (4认同)