Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题

参考链接:https://www.cnblogs.com/muahao/p/7610413.htmlCentOS 7.6 从内核 3.10.0 升级到 5.3.6后,重启不了,原因是 Linux 内核 4.4.x 版本之后,dracut 命令生成的 initramfs 默认不会自动加载 mpt3sas 驱动模块。因为没有对应的驱动程序,所以识别不了系统盘(两块 SAS 系统盘接在 LSI 2308 HBA 卡上,创建 RAID 1),从而导致内核 vmlinuz 无法加载它的 rootfs(根文件系统)。用5.3.6的启动时出现:
warning: /dev/disk/by-uuid/f0a7318c-da55-4ce4-8653-52fdae118b00 does not exist
starting Dracut Emergency Shell...
warning: /dev/disk/by-uuid/f0a7318c-da55-4ce4-8653-52fdae118b00 does not exist
Generating "/run/initramfs/rdsosreport.txt"
......................................
dracut:/#
解决过程
1. 查询3.10.0 initramfs的驱动

[[email protected] ~]# lsinitrd -k 3.10.0-957.el7.x86_64 | grep mpt[23]sas
drwxr-xr-x 2 root root 0 Nov 12 19:24 usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/scsi/mpt3sas
-rw-r--r-- 1 root root 92972 Nov 9 2018 usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/scsi/mpt3sas/mpt2sas.ko.xz
[[email protected] ~]#

可以看到在3.10内核的时候是mpt2sas驱动,可以在5.x内核中看到,新版的内核已经把mpt2sas升级为mpt3sas
[[email protected] ~]# ls /usr/lib/modules/5.3.6-1.el7.elrepo.x86_64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
/usr/lib/modules/5.3.6-1.el7.elrepo.x86_64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
[[email protected] ~]#
查询5.3.6 initramfs的驱动, 可以看到并没有输出,说明initramfs并没有把这个驱动打进去
[[email protected] ~]# lsinitrd -k 5.3.6-1.el7.elrepo.x86_64 | grep mpt[23]sas

2. 两种解决方法:
方法1:
1). 修改 /etc/dracut.conf文件,增加字段
sed -i ‘/#add_drivers+=""/aadd_drivers+="mpt3sas"‘ /etc/dracut.conf
2)重新生成initramfs
cd /boot/
mv initramfs-5.3.6-1.el7.elrepo.x86_64.img{,.bak}
dracut -f /boot/initramfs-5.3.6-1.el7.elrepo.x86_64.img 5.3.6-1.el7.elrepo.x86_64

方法2:
强制加载驱动
dracut --force --add-drivers mpt3sas --kver=5.3.6

以上方法二选一做下驱动的集成,然后做下面的检查
lsinitrd -k 5.3.6-1.el7.elrepo.x86_64 | grep mpt[23]sas
如果有输出就是正常了的, 然后重启操作系统即可

原文地址:https://www.cnblogs.com/larrypeng/p/11846161.html

时间: 2024-10-10 01:20:37

Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题的相关文章

Centos7升级内核后,导致打开VMware提示需要安装vmmon和vmnet模块

将Centos7的内核升级到5.4.12后,VMware无法正常启动 git clone https://github.com/mkubecek/vmware-host-modules.git cd vmware-host-modules/ git checkout workstation-15.5.1 git fetch make make install 参考链接https://blog.csdn.net/seaship/article/details/103351654 进入VMware后

linux下修改mysql数据库编码后无法启动解决办法

linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-character-set=utf8 在新的版本中如果这样修改的话,会造成无法启动的错误,结果方法是 在[mysqld]下把default-character-set=utf8换成 重启mysql可以使用 sudo /etc/init.d/mysql restart 注意修改

CCS v5 无法启动解决办法及Launchpad仿真器电脑无法识别解决方法

安装ccs_setup_5.1.1.00028.exe后(无论是自己装eclipse还是在原来的基础上安装eclipse的插件),ccs5的应用无法打开,错误为:An error has occurred.See the log file .\workspace\.metadata\.log. 本现象可以通过重装Microsoft VC redistributable package解决.安装包在下面的路径: (你的CCS V5安装文件)\baserepo\里重新安装 vcredist_x86_

Ubuntu下升级VisualBox后无法启动 Kernel driver not installed (rc=-1908)

Ubuntu下升级VisualBox后无法启动 Kernel driver not installed (rc=-1908) VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点. 不过Linux内核更新很频繁,每次更新内核后启动VirtualBox都会提示: VirtualBox kernel driver not installed. The vboxdrv kernel module was either not

Windows Management Instrumentation 服务无法启动 解决办法

Win7下 Windows Management Instrumentation 服务无法启动 解决办法: 1.以管理员身份运行cmd.exe 2.sc config Winmgmt depend= RpcSs (直接复制第2点到命令提示符下后回车,不要删除RpcSs前面的一个空格)

80端口未占用,apache无法启动解决办法

网上很多关于apache无法启动的原因,新手遇到最多的是80端口被占用. 今天为了解决apache和tomcat端口共存问题,修改了httpd.conf的配置,由于增加位置没有做明显标识,重启apache后,发现apache无法启动,netstat -a 后,没有查看到80端口,也就是80端口不仅没被占用,而且根本没有启动. 查看apache下logs/error.log,也没有报错误信息 ==,因为apache根本没有启动,所以不会往日志文件写数据. 最后,系统日志应该有吧,打开"控制面板&q

ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法

ubuntu 14.04 安装成功后,平时的工作什么的都够用了, 最近需要做一个测试,测试环境还必须是windows的.所以就准备整个虚拟机来,kvm 跟 vmware 考虑再三,选择了 vmware .vmware 10的安装方法,就不做说明了.度娘或谷哥还是有蛮多方法.我这里所写的是,vmware 安装后,启动时报错. 报错图片如下: 解决方法: 当然方法有很多种,我也试过几种方法,有使用patch 的,但是我用这种方法的时候,出现错误了,继续找方法的时候,有网友有告诉过这样一种方法,就是手

android 自定义adapter和线程结合 + ListView中按钮滑动后状态丢失解决办法

adapter+线程 1.很多时候自定义adapter的数据都是来源于服务器的,所以在获取服务器的时候就需要异步获取,这里就需要开线程了(线程池)去获取服务器的数据了.但这样有的时候adapter的中没有数据. 如下面的代码: 这就是在initData中异步获取服务器的数据,然后实例化adatper,再将adapter赋给listView. 2.initData()中的代码是: 这里线程要睡眠5秒钟,是为了模仿网络的耗时操作 3.Handler: 在Handler中接收到数据后给list赋值后,

查看443端口被占用无法启动解决办法

443端口被占用无法启动解决办法 2012-11-15 15:01 2483人阅读 评论(0) 收藏 举报 netstat -ano|findstr "443"         //搜索443端口占用情况,并找到进程IDTCP 0.0.0.0:443 0.0.0.0:0 LISTENING 720            //找到PID为720UDP 0.0.0.0:59443 *:* 7584-----------------------------------------------