首页/云/云平台与虚拟化速查/virsh console 串口控制台
虚拟化操作94 条

virsh console 串口控制台

virsh console 通过虚拟串口登录 guest 控制台:适合无图形服务器与救援场景;需要 guest 内核配置 console=ttyS0 并启用串口 getty 才能看到登录与输出。

云平台与虚拟化速查云更新于 2026-10-13

virsh console 串口控制台

virsh console 通过虚拟串口登录 guest 的控制台,不依赖 guest 的网络,是服务器无图形界面时的主要救援通道。它需要 guest 侧配合:内核参数里带 console=ttyS0,并且启用串口上的 getty 服务,否则连上去只有空屏。网络不通、SSH 连不上、防火墙改错时,这条通道往往是最快的恢复路径。

基本信息

进入控制台virsh console vm1(可加 --force 强制接管)
退出按键Ctrl+](停在 Escape character 提示后按该组合键)
guest 内核要求启动参数含 console=ttyS0,115200
guest 服务要求systemctl enable --now serial-getty@ttyS0
适用场景无网络、无图形、启动阶段排障

典型使用场景

  • 网络配置改错导致失联,从串口进去改回配置
  • SSH 服务起不来或安全组放行遗漏时的应急登录
  • 查看启动阶段输出,定位卡在哪个服务或内核阶段
  • 进入单用户模式修复文件系统或重置 root 密码
  • 云主机未提供图形界面时执行系统级维护

串口控制台准备与进入

串口控制台准备与进入
# guest 内执行:启用串口登录服务
sudo systemctl enable --now serial-getty@ttyS0
# 同时在 grub 内核命令行追加 console=ttyS0,115200
# 宿主侧进入:
virsh console vm1
# 退出:Ctrl+]

进去之后没反应的排查

现象常见原因处理
一直空屏guest 未启用串口 getty启用 serial-getty@ttyS0
看到启动日志但无登录提示内核参数缺 console=添加后重启 guest
输入无回显串口被其他会话占用退出其他 console 会话
连接立即断开域已停止或被关机先确认域状态
停在 Escape character is ^] 不是故障:按 Ctrl+] 即可退出控制台返回宿主,退出不会影响 guest 运行。
对运行中的域,console 通常只允许一个有效会话:多个人同时进入会互相看到对方输出,救援时段要有约定,避免争抢。
把串口 getty 与内核 console 参数写进基础镜像,之后由这个镜像创建的虚机天然带一条不依赖网络的救援入口;只在个别虚机上临时配置,往往在真出故障时才发现缺失。
控制台输出不会回看:需要保留启动日志时,同时开启内核日志落盘或平台侧采集,退出前把关键输出复制出来,之后再想找回同一段输出只能重启复现。

易错点

  • 停在 Escape character is ^] 不是故障:按 Ctrl+] 即可退出
  • 未在 guest 配置串口 getty,console 里只有空屏,误判为虚机故障
  • 内核参数缺 console=ttyS0,启动阶段输出看不到,无法定位卡点
  • 把 console 当唯一救援通道却没提前配置,真正失联时才发现进不去

数据来源与参考

  • libvirt 文档:virsh console
  • Red Hat 文档:串口控制台
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌