CentOS UEFI系统如何在Dell服务器BIOS模式下成功引导

一、前言

现象:业务软件无法访问,dell服务器报错No boot found 找不到启动项

原因:服务器用Legary(bios)模式才能在启动项中找到raid,但是centos操作系统是基于efi安装的所以在legary模式下进入内核会报错linuxefi error 

下图为UEFI模式下F11的启动项,可以看到没有识别到Raid磁盘的启动项

二、调试过程

1、先检查硬件状态

开机如果黑屏不显示大概率是内存问题需要重新插拔内存条在试试。

如果能看到自检按F2进入BIOS看下Raid 状态是否正常,有时raid阵列丢失会导致机器找不到磁盘自然也就进不去系统。如果发现阵列卡识别到了并且阵列都是Ready那就说明硬盘没坏,阵列OK

如果发现阵列卡无法识别,换槽位重新插拔,如果发现阵列卡识别到了但raid阵列没了参考下列文章进行重新导入

Dell服务器因raid阵列丢失无法找到磁盘的处理方法_服务器做了raid但找不到硬盘-CSDN博客

2、检查系统是否还在

准备一个Centos系统启动盘(U盘或光盘)然后进入救援模式

选择Troubleshooting

选择Rescue a CentOS Linux system

(1)开启网络服务和SSH服务,并配置IP

使用nmtui工具去配置IP,然后去激活网卡

按ESC回到这里,然后选择Activate a connection 激活一个连接

在网口信息上回车即可,前面带*表示已经连接。

(2)配置和启用SSH

cp -p /etc/sshd/sshd_config.anaconda /etc/sshd/sshd_config   # 拷贝SSH配置文件

systemctl start sshd   #启动SSH服务

这样就可以用ssh远程连接救援模式了

lsblk先确认原来的磁盘中系统是否还在,如果能看到分区则标识系统没丢

通过chroot命令切换到老系统中进行操作 ,光盘救援模式的切换方法:

chroot /mnt/sysimage 

在本次事件中,lsblk 和 blkid 的结果中都仅看到了/boot分区无/boot/efi 并且/etc/fstab 中也无相应的挂载信息但是/boot/efi/EFI/centos/目录存在且下面还包含了相关文件如grub.cfg 

这就很疑惑了,如果是UEFI安装为什么会没有相应的分区和挂载信息,如果是Legary安装的为什么会有/boot/efi/EFI/centos目录存在,但既然服务器现在只能使用Legary(bios)模式找到raid,那么只能让系统内核也支持Legary

操作方法:

确保现在要操作的环境是chroot后的

1、强制安装 Legacy GRUB

这句命令的意思是:无论我现在的环境是什么,我要指定安装传统的 BIOS/MBR 引导程序,这里的sda要写成你的老系统磁盘标识

grub2-install --target=i386-pc /dev/sda

2、重新生成配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

3、检查/boot/grub2/grub.cfg 文件,如果发现对应内核还是linuxefi 那么就手动替换一波

先拷贝原来的文件,然后直接将对应的字段进行替换

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

sed -i 's/linuxefi/linux16/g' /boot/grub2/grub.cfg
sed -i 's/initrdefi/initrd16/g' /boot/grub2/grub.cfg

4、成功执行后退出chroot然后重启机器试试

exit
reboot 

最终成功进入系统

三、后续

事发突然待同事阿伯茨到达现场已是21点多,最终熬到半夜1点,但看到业务软件跑起来让人兴奋不已,美美收拾便下班了。结果第二天早晨眼睛还没睁开就被消息炸醒说是系统又进不去了....、

毕竟是一个常年在机房但没用的机器,排查到是CMOS电池电量不足并且内存条氧化层也严重,这就导致了服务器改好的BIOS配置在下电后会被重置又变成了UEFI。而内存条接触不良有时会被系统识别为没有内存报错。解决方法就是卸下内存条擦拭金手指然后放回,因现场需验收演示故CMOS电池也无法立即更换,于是便通过留下了操作文档结束了此事

下图为无法识别内存的报错图(某些机器会直接黑屏,只能听到风扇声但不显示,如果显示器确认接好并且信号源正确的话,可能就是内存导致)

四、总结

本文介绍了强制将EFI安装的Centos7系统改为Legary启动的方法,对这块认识不深,如果大佬们有处理方法欢迎分享,致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值