Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 1.99 KB

File metadata and controls

76 lines (48 loc) · 1.99 KB

在宿主机上使用console指令连接虚拟机终端

一、配置虚拟机的串行控制台

首先要确保虚拟机的配置文件中有串口设备的定义。可以通过以下步骤来添加串行控制台支持:

通过 virsh 编辑 XML 配置文件

先停止虚拟机:

virsh shutdown <虚拟机名称>

编辑虚拟机的 XML 配置文件:

virsh edit <虚拟机名称>
  • <devices> 部分添加以下内容:
<console type='pty'>
<target type='serial'/>
</console>

这样会为虚拟机添加一个串口设备。

  • 保存并退出编辑器。

二、虚拟机内操作系统的配置

在虚拟机的操作系统中,需要确保它可以使用串行终端。具体的配置步骤根据操作系统类型而不同,以下以 debian 12 系统为例。

2.1. 对 debian 12 系统进行配置

需要修改 Linux 内核的启动参数,并确保系统会自动在串行端口上启动一个终端。

  • 修改内核启动参数:在虚拟机的 /etc/default/grub 文件中,找到 GRUB_CMDLINE_LINUX 这一行,添加以下参数:
GRUB_CMDLINE_LINUX="console=ttyS0,115200n8"
  • 更新 grub
sudo update-grub
  • 启用 getty 服务:在 /etc/systemd/system/getty.target.wants/ 目录中,创建一个链接或直接启动 serial-getty@ttyS0 服务:
sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service

2.2. 使用 virsh 连接到串行控制台

一旦完成配置并启动虚拟机,你就可以使用 virsh 命令连接到串行控制台。

  • 启动虚拟机:
virsh start <虚拟机名称>
  • 连接到串行控制台:
virsh console <虚拟机名称>

连接成功后,就够看到虚拟机的终端输出,并通过控制台直接与虚拟机交互。如果无法看到登录提示,可能是串口未正确配置。检查虚拟机的 XML 配置和虚拟机内部的系统配置是否正确。