centos更新内核后不能启动怎么办

方法:1、在“/etc/dracut.conf”文件中添加“add_drivers+="mpt3sas"”,并重新生成initramfs即可;2、利用“dracut --force --add-drivers”强制加载驱动后重启系统即可。

centos更新内核后不能启动怎么办

本文操作环境:centos 7系统、Dell G3电脑。

centos更新内核后不能启动怎么办

在进行内核的升级以后就存在这个问题:

  • 系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘

  • 系统盘插在面板口上新内核无法启动,调试发现无法找到系统盘

  • 系统盘插在面板上默认的3.10内核可以正常启动

暂时的解决办法就是让系统插在板载的sata口上,因为当时没找到具体的解决办法,在这个问题持续了一段时间后,最近再次搜索资料的时候,把问题定位在了initramfs内的驱动的问题,并且对问题进行了解决

解决过程

查询initramfs的驱动

[root@lab103 lab103]# lsinitrd -k 3.10.0-327.el7.x86_64|grep mpt[23]sas
drwxr-xr-x   2 root     root            0 Apr 17 12:05 usr/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/scsi/mpt2sas
-rw-r--r--   1 root     root       337793 Nov 20  2015 usr/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko

可以看到在3.10内核的时候是mpt2sas驱动

可以在4.x内核中看到

新版的内核已经把mpt2sas升级为mpt3sas

/lib/modules/4.4.46/kernel/drivers/scsi/mpt3sas/mpt3sas.ko

查询initramfs内的模块

lsinitrd -k  4.4.46|grep mpt[23]sas

可以看到并没有输出,说明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.4.46|grep mpt[23]sas

如果有输出就是正常了的

然后重启操作系统即可

推荐教程:《centos教程》

以上就是centos更新内核后不能启动怎么办的详细内容,更多请关注其它相关文章!