0

0

Linux 开机时出现 "Gave up waiting for root file system devices" 的修复思路

舞姬之光

舞姬之光

发布时间:2026-01-18 19:14:02

|

840人浏览过

|

来源于php中文网

原创

该错误本质是内核启动时无法挂载指定根文件系统,修复需依次检查硬件连接、BIOS/UEFI设置、root参数匹配性、GPT/文件系统完整性,并重建含必要驱动的initramfs及更新GRUB。

linux 开机时出现 \

这个错误本质是内核在启动过程中,找不到或无法挂载指定的根文件系统设备。它不等于系统彻底损坏,而是“卡在了第9步”——挂载根分区失败。修复方向围绕“让系统认出并成功访问那个 root 分区”展开。

检查硬件连接与 BIOS/UEFI 设置

物理层问题最常被忽略。硬盘松动、SATA线接触不良、M.2插槽未插紧,都会导致设备在内核初始化阶段不可见。

  • 关机断电后,重新插拔硬盘数据线和电源线(台式机)或检查 M.2 固态是否压紧(笔记本/迷你主机
  • 进 BIOS/UEFI,确认 SATA Mode 设置为 AHCI(不是 IDE 或 RAID,除非你确实用了 RAID 阵列)
  • 检查启动模式是否匹配:GPT 分区表对应 UEFI 启动,MBR 对应 Legacy BIOS;混用会导致 initramfs 找不到设备
  • 若使用 NVMe 盘,确认 BIOS 中 NVMe 支持已启用(部分老主板默认关闭)

验证设备路径与内核参数是否匹配

GRUB 启动时传给内核的 root= 参数,必须指向一个真实存在且可访问的块设备。常见错位包括 UUID 变化、设备名漂移(如 /dev/sda1 变成 /dev/nvme0n1p1)、或使用了未加载驱动的设备类型。

喜鹊标书
喜鹊标书

AI智能标书制作平台,10分钟智能生成20万字投标方案,大幅提升中标率!

下载
  • 启动时按 Shift 进 GRUB 菜单,按 e 编辑启动项,在 linux 行末尾临时添加 rd.debugsystemd.log_level=debug,观察启动日志中实际探测到的设备名
  • 在 initramfs shell(出现 (initramfs) 提示符时)执行:ls /devblkidcat /proc/cmdline,比对 root= 值和实际存在的设备
  • 若发现 UUID 不一致,可用 blkid 查新 UUID,然后在 GRUB 编辑界面临时改为 root=UUID=xxx 尝试启动

修复 GPT 分区表或文件系统元数据

分区表损坏、GPT 备份头异常、ext4 日志崩溃,都可能导致设备识别失败或挂载阻塞。

  • 用 Live USB 启动,运行 sudo fdisk -lsudo gdisk -l /dev/sdX,留意是否提示 “primary GPT table corrupt, backup OK”
  • 若确认 GPT 损坏,用 sudo gdisk /dev/sdX → 输入 r(recovery)→ b(load backup)→ w(write)→ y(confirm)恢复
  • 对疑似损坏的根分区,先卸载(Live 环境下无需挂载),再执行:sudo e2fsck -f -y /dev/sdX1(ext4)或 sudo xfs_repair /dev/sdX1(XFS)
  • /etc/fstab 中有错误挂载项(比如已删除的分区),也可能干扰 initramfs 加载顺序,需在 Live 环境中挂载根分区后修正

重建 initramfs 并更新 GRUB

initramfs 是内核启动初期的临时根环境,它必须包含访问根设备所需的驱动模块(如 nvme、ahci、raid、lvm、btrfs 等)。缺失关键模块,设备根本不会出现在 /dev 下。

  • 进入系统后(或通过 Live USB chroot),运行:sudo update-initramfs -u -k all(Debian/Ubuntu)或 sudo dracut -f(RHEL/Fedora)
  • 确保所需模块已列入 initramfs 配置:检查 /etc/initramfs-tools/modules(Ubuntu)或 /etc/dracut.conf.d/配置文件
  • 更新 GRUB 配置:sudo update-grub(Debian/Ubuntu)或 sudo grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL)
  • 特别注意:如果启用了 LVM、LUKS 或 Btrfs 子卷,initramfs 必须显式包含对应 hook 和工具,否则无法解析 root=

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

702

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

381

2023.07.25

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号