initramfs 里面缺少某个磁盘驱动导致无法挂载根分区怎么补救

发布时间 - 2026-01-19 00:00:00    点击率:
直接补救的关键是让initramfs包含缺失磁盘驱动模块,常见于内核升级、更换存储控制器或使用NVMe/RAID/virtio设备但未预载驱动;需用lsinitrd、lspci、modinfo确认缺失驱动,CentOS/RHEL用dracut添加(临时或永久),initramfs shell中可手动modprobe加载并验证挂载,预防措施包括升级前备份旧内核、升级后立即重建initramfs、虚拟机启用virtio驱动、生产环境用UUID/LVM挂载。

直接补救的关键是让 initramfs 包含缺失的磁盘驱动模块,而不是等系统启动失败后再硬扛。常见于内核升级后、更换存储控制器(如从 mpt2sas 换成 mpt3sas)、或使用 NVMe/RAID/virtio 设备但未预载驱动的情况。

确认缺

失的是哪个驱动

在能进入系统的环境下(比如用旧内核启动)执行:

  • lsinitrd -k $(uname -r) | grep -E "(mpt|nvme|raid|virtio|ahci|isci)" —— 查看当前 initramfs 是否含目标驱动
  • lspci -k | grep -A 3 -i "storage\|mass\|scsi\|nvme" —— 确认硬件型号及当前绑定的驱动
  • modinfo (如 modinfo mpt3sas)—— 验证驱动是否存在、是否支持当前内核

把驱动加进 initramfs 并重建

CentOS/RHEL 系统用 dracut,不是 update-initramfs(那是 Ubuntu/Debian 的):

  • 临时加一个驱动(只对当前内核):
    dracut --force --add-drivers mpt3sas --kver $(uname -r)
  • 永久生效(后续所有新内核自动包含):
    编辑 /etc/dracut.conf,添加一行:
    add_drivers+="mpt3sas nvme_core virtio_blk"
    再运行:dracut -f
  • 验证是否成功:
    lsinitrd -k $(uname -r) | grep mpt3sas —— 有输出即表示已打入

如果已经卡在 initramfs shell 里

先别慌,initramfs shell 是可操作的救援环境:

  • 输入 ls /dev 看有没有预期的磁盘设备(如 sdanvme0n1vda
  • 输入 lsmod 看关键驱动是否已加载;没加载就试:
    modprobe mpt3sas(或 nvmevirtio_blk 等)
  • 加载成功后,再试挂载:
    mount /dev/sda2 /mnt(替换为你的根分区)
  • 若能挂上,说明只是 initramfs 缺模块 —— 重启进正常系统后按上面方法重建即可

预防下次再出问题

内核升级不是“点一下就完事”,尤其涉及底层存储时:

  • 升级前备份旧内核:grubby --set-default /boot/vmlinuz-$(old-version)
  • 升级后立刻重建 initramfs:dracut -f
  • 虚拟机环境务必确保 virtio_blkvirtio_scsi 已启用;物理服务器留意 RAID/HBA 厂商是否提供配套驱动 RPM
  • 生产环境建议用 UUID 或 LVM 名称挂载,避免因设备名变化(sdasdb)导致 fstab 失效


# centos  # 虚拟机  # ubuntu  # ai  # lsp  # default  # debian  # 加载  # 但未  # 的是  # 那是  # 重启  # 只对  # 绑定  # 挂上  # 若能  # 下次再 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  javascript日期怎么处理_如何格式化输出  如何挑选优质建站一级代理提升网站排名?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  专业商城网站制作公司有哪些,pi商城官网是哪个?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  如何用JavaScript实现文本编辑器_光标和选区怎么处理  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel观察者模式如何使用_Laravel Model Observer配置  php485函数参数是什么意思_php485各参数详细说明【介绍】  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Android中AutoCompleteTextView自动提示  如何在阿里云服务器自主搭建网站?  javascript中闭包概念与用法深入理解  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  打造顶配客厅影院,这份100寸电视推荐名单请查收  教你用AI润色文章,让你的文字表达更专业  如何快速搭建个人网站并优化SEO?  网站优化排名时,需要考虑哪些问题呢?  浅析上传头像示例及其注意事项  Laravel如何处理文件下载请求?(Response示例)  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  如何彻底卸载建站之星软件?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在Windows服务器上快速搭建网站?  Laravel distinct去重查询_Laravel Eloquent去重方法  Laravel怎么实现验证码(Captcha)功能  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  LinuxCD持续部署教程_自动发布与回滚机制  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  php json中文编码为null的解决办法  如何快速搭建高效香港服务器网站?  如何有效防御Web建站篡改攻击?  如何快速打造个性化非模板自助建站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  高防服务器:AI智能防御DDoS攻击与数据安全保障  PythonWeb开发入门教程_Flask快速构建Web应用  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何使用模型观察者?(Observer代码示例)  JS去除重复并统计数量的实现方法  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Bootstrap CSS布局之列表