Featured image of post virsh不能登录vm的控制台

virsh不能登录vm的控制台

VM

可以依次试试以下步骤解决KVM虚拟机console不跳转到登录界面的问题:

  1. 检查串行控制台配置( 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>
    
  2. 检查GRUB配置:在虚拟机内部,编辑 /etc/default/grub 文件,确保包含以下行:

    1
    
    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
    

    然后运行 grub2-mkconfig -o /boot/grub2/grub.cfg 更新GRUB配置。

  3. 检查systemd配置:确保 /etc/systemd/logind.conf 文件中包含:

    1
    2
    3
    
    [Login]
    NAutoVTs=0
    ReserveVT=0
    
  4. 启用串行控制台服务:运行以下命令启用串行控制台服务:

    1
    
    sudo systemctl enable serial-getty@ttyS0.service --now
    
  5. 尝试不同的连接方式: 除了使用 virsh console 命令,您也可以尝试使用 virt-manager 的图形界面或 virt-viewer 来连接虚拟机。

  6. 检查虚拟机状态: 确保虚拟机已经完全启动。有时候,如果虚拟机还在启动过程中,console可能不会立即显示登录提示。

  7. 重启虚拟机: 如果以上步骤都不能解决问题,尝试重启虚拟机。

  8. 检查日志:查看 /var/log/libvirt/qemu/<vm>.log 文件,看是否有任何相关的错误信息。