CentOS7 升级内核到 4.4 以上版本时无法重启
Synopsis: CentOS 7.3 从内核 3.10.0 升级到 4.14.40 后,重启不了,原因是 Linux 内核 4.4.x 版本之后,dracut 命令生成的 initramfs 默认不会自动加载 mpt3sas 驱动模块。因为没有对应的驱动程序,所以识别不了系统盘(两块 SAS 系统盘接在 LSI 2308 HBA 卡上,创建 RAID 1),从而导致内核 vmlinuz 无法加载它的 rootfs(根文件系统)
1. 现象描述
使用 CentOS-7-x86_64-DVD-1611.iso
原版 ISO 光盘安装了 CentOS-7.3
后,默认的 Linux内核
版本是 3.10.0-514.el7.x86_64
下载并安装以下两个 RPM 包,将内核升级到 4.14.40
:
kernel-4.14.40-1.x86_64.rpm
kernel-headers-4.14.40-1.x86_64.rpm
重启系统,等了半天系统没启动成功,发现一直卡在进度条。按 ESC
键查看详细信息如下:
既然能显示 GRUB2
的引导菜单(都到进度条了,肯定过了引导菜单),说明 MBR
和 GRUB2
没有问题,那么问题应该是 initramfs
中没有系统盘的驱动程序(需要 mpt2sas
),导致内核 vmlinuz
无法加载它的 rootfs(根文件系统)
。不能使用 单用户模式
,因为进不去,systemd
不可能启动起来,自然进不了单用户模式,那只能使用安装光盘的 救援模式
了
2. 问题解决
2.1 救援模式
我们需要利用原版 ISO
光盘所提供的 Rescure a CentOS Linux system
(救援模式)来重建 initramfs
插入光盘后,设置 Boot Sequence(启动顺序)
,选择从光盘启动:
选择 Troubleshooting(故障排除)
:
选择 Rescure a CentOS Linux system
:
输入数字 1
,即选择 1) Continue
:
按 Enter
回车键:
此时,已经进入救援模式了,并显示命令行 Shell:
2.2 重建 initramfs
升级前的内核 3.10.0-514.el7.x86_64
对应的 initramfs
有 mpt2sas
0 条评论
评论者的用户名
评论时间暂时还没有评论.