26.9. 通过串行控制台的 GRUB 2
这部分论述了如何在没有显示或键盘的机器上配置 GRUB 2
串行通信。
要通过串行连接访问 GRUB 2
终端,必须在内核定义中添加另一个选项,以使特定内核监控串行连接。
例如:
console=ttyS0,9600n8
其中 console=ttyS0
是要使用的串行终端,9600
是 baud 速率,n
表示没有奇偶校验,而 8
是以位为单位的字词长度。对于以下日志文件等任务来说,最好使用更高的 baud 速率(如 115200
)。
有关串行控制台设置的详情,请参考 “可安装和外部文档”一节
26.9.1. 为单个引导配置 GRUB 2
要将系统设置为仅在单个引导过程中使用串行终端,显示 GRUB 2 引导菜单时,将光标移至要启动的内核,然后按 e 键编辑内核参数。删除 rhgb
和 quiet
参数,并在 linux16
行末尾添加控制台参数,如下所示:
linux16 /vmlinuz-3.10.0-0.rc4.59.el7.x86_64 root=/dev/mapper/rhel-root ro rd.md=0 rd.dm=0 rd.lvm.lv=rhel/swap crashkernel=auto rd.luks=0 vconsole.keymap=us rd.lvm.lv=rhel/root console=ttyS0,9600
这些设置不是永久性的,仅适用于一次引导。
26.9.2. 为持久性更改配置 GRUB 2
若要永久更改系统上的菜单条目,请使用 grubby
工具。例如,要更新默认内核的条目,请按如下所示输入命令:
~]# grubby --remove-args="rhgb quiet" --args=console=ttyS0,9600 --update-kernel=DEFAULT
--update-kernel
参数还接受关键字 ALL
或以逗号分隔的内核索引编号列表。有关使用 grubby
的更多信息,请参阅 “从 GRUB 2 菜单条目中添加和删除参数”一节。
26.9.3. 配置新的 GRUB 2 文件
如果需要,请在 /etc/default/grub
文件中添加以下两行:
GRUB_TERMINAL="serial" GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"
第一行将禁用图形终端。请注意,指定 GRUB_TERMINAL
键会覆盖 GRUB_TERMINAL_INPUT
和 GRUB_TERMINAL_OUTPUT
的值。在第二行中,调整 Baud 速率、奇偶校验和其他值以适合您的环境和硬件。对于以下日志文件等任务来说,最好使用更高的 baud 速率(如 115200
)。完成 /etc/default/grub
文件中的更改后,需要更新 GRUB 2 配置文件。
运行 grub
文件,如下所示:
2-mkconfig -o 命令重建 grub
.cfg
在基于 BIOS 的机器中,以
root
用户身份运行以下命令:~]# grub2-mkconfig -o /boot/grub2/grub.cfg
在基于 UEFI 的机器中,以
root
用户身份运行以下命令:~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
26.9.4. 使用屏幕连接到串行控制台
屏幕 工具充当强大的串行终端。要安装它,以 root
用户身份运行:
~]# yum install screen
要使用串行控制台连接到您的机器,请使用以下格式命令:
screen /dev/console_port baud_rate
默认情况下,如果没有指定选项,屏幕 将使用标准 9600 升序。要设置更高的 Baud 速率,请输入:
~]$ screen /dev/console_port
115200
这里的 console_port is ttyS0
, or ttyUSB0
等等。
要结束 屏幕中 的会话,请按 Ctrl+a,键入 :quit
并按 Enter。
更多选项和详细信息请查看 screen(1)
手册页。