串口重定向本质是将BIOS/UEFI启动过程、POST信息、GRUB菜单、内核日志及控制台全部镜像输出至物理串口,供Xshell等终端远程捕获,不依赖操作系统启动,是诊断Kernel panic、RAID初始化失败等关键问题的核心手段。

服务器串口重定向(Serial Redirection)本质是把 BIOS/UEFI 启动过程、POST 信息、GRUB 菜单、内核日志甚至操作系统控制台,全部“镜像”输出到物理串口(如 COM1/COM2),再通过终端工具(如 Xshell)远程捕获。它不依赖操作系统是否启动,是诊断 Kernel panic、RAID 初始化失败、固件兼容性等问题的关键手段。配置需分三步走:BIOS/UEFI 层开启硬件重定向、操作系统层配置内核引导参数、终端侧建立串口连接。
一、BIOS/UEFI 中启用串口重定向
不同厂商入口略有差异,但核心逻辑一致:确认串口控制器已启用,并绑定重定向功能。
- Dell 服务器:开机按 F2 进 BIOS → 进入 Serial Communication → 将 Serial Communication 设为 On with Console Redirection via COM2(若主板标 COM1,则选 COM1)→ 保存退出
- 华为/浪潮/CTYunOS 服务器:开机按 Delete 进 BIOS → 进入 Advanced > MISC Config → 启用 Support SPCR(Serial Port Console Redirection,符合 UEFI SPCR 表规范)→ 保存并重启
- IBM/Lenovo 服务器:通常在 Server Management > Serial Port Configuration 或 Boot > Serial Port Redirection 下,将模式设为 Enabled,端口选 COM1 或 COM2,波特率保持默认 115200
⚠️ 注意:部分服务器(如某些 Dell R740)需同时开启 Legacy Option ROMs 或禁用 Fast Boot,否则串口重定向可能在 POST 阶段不生效;若启用后仍无输出,可尝试切换 COM 端口号或检查主板是否实际存在对应串口控制器(部分双路服务器仅 COM2 可用于重定向)。
二、操作系统启动阶段配置(GRUB + 内核参数)
BIOS 层只管“转发”,真正决定哪些内容能打到串口,取决于 GRUB 和 Linux 内核的引导参数。关键在于让 early console(earlycon)、kernel log、GRUB 输出三者都指向同一串口设备(如 ttyS1)。
-
确认串口设备名:Linux 下常见为
ttyS0(对应 COM1)、ttyS1(对应 COM2)。可通过dmesg | grep -i serial或lspci | grep -i serial查看实际识别到的串口编号 -
修改 GRUB 配置:
- UEFI 模式:编辑
/boot/efi/EFI/kylin/grub.cfg(麒麟)或通用路径/boot/efi/EFI/fedora/grub.cfg等 - BIOS 模式:编辑
/boot/grub2/grub.cfg - 找到
GRUB_CMDLINE_LINUX行,在引号内追加:console=ttyS1,115200n8 earlycon=uart8250,io,0x3f8,115200n8(若为 COM1,用ttyS0和0x3f8;COM2 对应ttyS1和0x2f8) - 新增一行:
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"(--unit=0表示 COM1;--unit=1表示 COM2) - 确保
GRUB_TERMINAL="console serial"已启用
- UEFI 模式:编辑
-
生成新配置:执行
grub2-mkconfig -o /boot/grub2/grub.cfg(BIOS)或grub2-mkconfig -o /boot/efi/EFI/xxx/grub.cfg(UEFI)
三、终端侧连接与验证
Windows 端常用 Xshell,需先让系统识别出虚拟串口设备。
- 安装驱动:USB 转 Console 线(如绿联 CH340 芯片)需手动安装驱动,否则设备管理器中显示“未知设备”。推荐用 360 驱动大师自动识别安装,或去芯片官网下载对应 Win10/Win11 驱动
- 确认 COM 号:插入线缆后,在设备管理器 → “端口(COM 和 LPT)”下查看分配的 COM 编号(如 COM4)
- 新建串口会话:Xshell 中选择“文件 → 新建” → 连接协议选 Serial → 串口号选对应 COMx → 波特率填 115200,数据位 8,停止位 1,无校验,无流控
-
验证时机:重启服务器,在 POST 阶段即可看到 BIOS 自检信息;进 GRUB 菜单时可上下键选择;启动后输入
ls /dev/ttyS*应能看到对应设备;运行echo "test" > /dev/ttyS1可测试内核级输出是否可达
四、避坑提醒
串口重定向看似简单,但几个典型问题常导致“有配置、无输出”:
- Kernel panic 卡死? 华为 2288H V5 等机型曾因开启串口重定向导致 RAID 卡资源争抢,引发内核恐慌。临时解决办法:BIOS 中关闭 SPCR 或串口重定向,待系统装完再启用
-
只看到 GRUB,看不到内核日志? 检查
earlycon参数中的地址是否与硬件匹配(0x3f8是标准 COM1 IO 地址,但部分服务器需用mmio,0xfebfe000等内存映射地址) -
VMware ESXi? 不走 GRUB,需用 esxcli 命令设置:
esxcli system settings advanced set -o "/Misc/LogToSerial" --int-value "1",并指定/Misc/LogPort和com1_baud -
无物理串口? 可用 IPMI SOL(Serial Over LAN)替代:通过
ipmitool sol activate -I lanplus -H ip -U user -P pass连接,前提是 BMC 已配置好网络且 SOL 功能启用











