针对于grub的让开机信息重定向输出到串口上(内含精简操作指南)

笔者正在进行服务器的调试,其中的过程需要观测到开机信息的输出,因此不得不配一台显示器进行输出信息打印,但是这样对显示器比较浪费,因此笔者把输出信息也尝试着打印到了串口进行输出,想快速输出到串口的可以直接跳过笔者的操作过程,直接到实际过程即可,但是笔者建议把必做项做了,要不然操作失误可能会导致服务器不能正常显示。

必做项

由于修改grub配置文件比较重要,稍有不慎就开不了机了,笔者这里建议

先把系统盘找到:lsblk

进入服务器把boot文件夹下的所有文件全部拷贝到U盘里面去,方便查看grub.cfg文件里面的配置内容,不会拷u盘的可以看看笔者的这篇帖子。服务器文件拷贝到u盘_韩xinwu的博客-CSDN博客

上述操作十分重要,请务必进行,grub的recovery模式有时候会没用(bug,后续会讲)

笔者的操作过程

首先,找到grub配置文件grub.cfg(grub.conf文件也可以),通常在这个/boot/grub/grub.cfg文件夹下。

路径到目标文件夹下

vim grub.conf

添加console =ttys0,115200

重启

输出报错can't find command `/etc/grub.d',bios串口还是不输出之后的信息(此时显示器可以显示进入操作系统)。

然后接着又在/etc/default下的grub文件修改,

cmdline添加了console=ttys0,115200

执行

sudo update-grub

该命令作用是更新原来的/boot/grub/grub.cfg文件,但修改配置时不要修改/boot/grub/grub.cfg文件,而是要修改/etc/default/grub文件,然后sudo update-grub

接着就开不了机了,一直卡在setup的界面

点到grub引导配置界面,选择recovery mode,点进去发现还是一直卡在界面。

理论上来说sudo update-grub命令只修改了ubuntu的启动而没有修改ubuntu recovery的启动项参数,不知道为什么不能显示。

不知道怎么找grub的,如果你的bios里面有uefi shell的话,可以先进入uefi shell

#fs0:
#ls
#cd efi
#cd ubuntu 
如果你的系统是ubuntu系统,那就是cd ubuntu.
#grubx64.efi

 如果你做了上面的必做项的话,这里你能很快找到你所要启动的系统路径,照着上述操作执行你的grub的efi文件,这个时候就能进入grub图形界面

按下c进入grub的命令行

我是按照这篇帖子进行操作的不慎修改linux中的grub文件导致无法进入操作系统的解决方案_woooorld的博客-CSDN博客_开机grub无法进入系统

为防丢失,复制了一段内容过来。

ls # 会显示所有挂载硬盘,如(hd0,msdos1),(hd0,msdos2)...
ls (hd0,msdos1) # 查看(hd0,msdos1)盘,如果显示是未知的文件系统则再查下一个,直到找到系统盘,系统盘的类型一般是xfs
# 3. 激活
insmod xfs
# 4. 配置变量
set root=(hd0,msdos1)  #第二步找到的系统盘
set prefix=(hd0,msdos1)/grub2  # 有的系统里是grub,这和grub版本有关
# 5. 
linux /vmlinuz-3.10.XXXX root=/dev/mapper/centos-root   # 后面的XXX可以用Tab键自动补全,root的位置一般是/dev/mapper/centos-root,但是也存在不一样的情况
# 6. 
initrd /initramfs-3.10.XXX.img  # 自动补全,使用和上一步对应的版本
# 7. 
boot

实际操作时只需要把系统盘换成你的系统盘就可以了,图中的5和6对应的的代码可以在必做项里面的grub.cfg或者grub.conf文件里面找到,比如说我的是这样的,对应着替换就行了,最后boot就成功启动了操作系统。

进去之后发现笔者的ttyS0写成了ttys0,正确的选项如图中所示。

console=tty0 console=ttyS0,115200

console=tty0和console=ttyS0的顺序不能反,否则只有显示器有输出,至于为什么,笔者目前也不太清楚。

下面第二个红框的前面的注释符#我给删掉了,不知道有没有什么影响

 

实际过程

#cd etc
#cd default
#vim grub
按i进行编辑
cmdline添加console=tty0 console=ttyS0,115200
按esc,输入:wq保存退出
#sudo update-grub
#reboot

让信息输出到串口上,其实会有一些不适应,比如说vim的时候

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值