centos更新内核4.19后不能启动怎么办
在进行内核的升级以后就存在这个问题:
系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘
系统盘插在面板口上新内核无法启动,调试发现无法找到系统盘
系统盘插在面板上默认的3.10内核可以正常启动
暂时的解决办法就是让系统插在板载的sata口上,因为当时没找到具体的解决办法,在这个问题持续了一段时间后,最近再次搜索资料的时候,把问题定位在了initramfs内的驱动的问题,并且对问题进行了解决
解决过程
查询initramfs的驱动
lsinitrd -k 5.4.217-1.el7.elrepo.x86_64 |grep mpt[23]sas
可以看到在3.10内核的时候是mpt2sas驱动
可以在4.x内核中看到
新版的内核已经把mpt2sas升级为mpt3sas
dracut --force --add-drivers mpt3sas --kver=4.19.157
查询initramfs内的模块
可以看到并没有输出,说明initramfs并没有把这个驱动打进去
这个地方有两种方式来解决
方法一:
修改 /etc/dracut.conf文件,增加字段
add_drivers+="mpt3sas"
重新生成initramfs
dracut -f /boot/initramfs-4.4.46.img 4.4.46
方法二:
强制加载驱动
dracut --force --add-drivers mpt3sas --kver=4.4.46
以上方法二选一做下驱动的集成,然后做下面的检查
lsinitrd -k 4.19.157|grep mpt[23]sas
如果有输出就是正常了的
然后重启操作系统即可
reboot