可以依次试试以下步骤解决KVM虚拟机console不跳转到登录界面的问题:
-
检查串行控制台配置( virsh edit
或者直接编辑 /etc/libvirt/qemu/ .xml): 1 2 3 4 5 6 7 8
<serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console>
-
检查GRUB配置:在虚拟机内部,编辑
/etc/default/grub
文件,确保包含以下行:1
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
然后运行
grub2-mkconfig -o /boot/grub2/grub.cfg
更新GRUB配置。 -
检查systemd配置:确保
/etc/systemd/logind.conf
文件中包含:1 2 3
[Login] NAutoVTs=0 ReserveVT=0
-
启用串行控制台服务:运行以下命令启用串行控制台服务:
1
sudo systemctl enable serial-getty@ttyS0.service --now
-
尝试不同的连接方式: 除了使用
virsh console
命令,您也可以尝试使用virt-manager
的图形界面或virt-viewer
来连接虚拟机。 -
检查虚拟机状态: 确保虚拟机已经完全启动。有时候,如果虚拟机还在启动过程中,console可能不会立即显示登录提示。
-
重启虚拟机: 如果以上步骤都不能解决问题,尝试重启虚拟机。
-
检查日志:查看
/var/log/libvirt/qemu/<vm>.log
文件,看是否有任何相关的错误信息。