Ubuntu Give up waiting for root device 解决之道

当Ubuntu在启动过程中遇到'Give up waiting for root device'错误时,通常是因为磁盘驱动器未正确识别或者系统配置问题。解决这个问题可以通过检查BIOS设置、确认UUID配置、使用GRUB修复或调整启动顺序等方法来实现。了解如何诊断和解决这个常见的Linux启动故障对于系统管理员来说至关重要。
部署运行你感兴趣的模型镜像

前言
昨天晚上把ubuntu 9.10 的Linux 内核升级到 31-17 就关机了。今天中午进去后出错,内容如下:
Give up waiting for root device. Common problems:
-boot args (cat.proc/cmdline)
-check root delay=(did the system wait long enough?)
-check root=(did teh system wait for the right device?)
-miss modules (cat/proc/modules;ls/dev)
ALERT! /dev/disk/by-uuid/acc3414d-926c-453c-b458-cf47088d77d2 does not exist.dropping to a shell!

busybox v1.10.2(ubuntu 1:1.10.2-lubuntu6)bulit-in shell (ash).
enter 'help' for a list of built-in commands
分析
一开始不知道怎么办,挑战以下吧。
1.既然是升级内核的问题,就和升级的内核不兼容或着是硬盘出错有关。
(1).换内核,在Grub中把31-17改到31-15,结果是同样的问题。失败。
(2).那就是硬盘出错了。
2.根据提示did the system wait long enough?判断是不是等待时间不足?
于是在GRUB 中 在 kernel 的内核后 加载 rootdelay=120(这个加到哪从网上查)。失败。
3.恼了,在 busybox v1.10.2 中开是不是UUID的事,我的linux 的 / (根目录)安装在/dev/sda5上
ls -l /dev/disk/by-uuid
竟然没有 sda5 的uuid,问题找到。
解决
1.不管他,先进系统再说。
直接在GRUB中把 kernel 那句中的 root=uuid=xxxxxxx给他改成 root=/dev/sda5。
成功进入。
2.至此,可以有两种解决之道,一种是先用着,一种是根本解决之道。
3.对于先用着,只要把Grub的menu.lst 里面的 root=uuid=xxxxx改成 root=/dev/sda5。这个我不多说,可以搜一下,网上有,也可以给我留言。
4.对于根本解决之道,请看下面:
根本解决之道
1.uuid不存在,那我们只要修复就行了,从网上查,有的说要重装GRUB。直觉告诉我不行。
2.那我记得有个 fsck 的可以修复硬盘。试试:
sudo fsck
的确有错,看了问题要解决了。
修复一下,重启机器。
又进不去了,不过这回找到uuid了,就是进不去x-window。那我就再在shell中,fsck一下。
重启,到进度条的时候,机器自动修复硬盘,看来有希望了。
呵呵,果然进去了。
此致全部解决。
后语:
是升级写硬盘出错导致此问题。
如果有问题,给我留言,发邮件都可以。



您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

在安装Ubuntu时遇到 `Gave up waiting for root file system device` 错误,通常表明系统在启动过程中无法找到或挂载根文件系统,导致启动失败并进入BusyBox shell界面。此问题可能由多种原因引起,包括引导参数配置错误、文件系统损坏、GPT表损坏或内核升级导致的引导异常。 ### 问题原因与解决方法 1. **引导参数配置错误或根设备路径不正确** 在 `/proc/cmdline` 中查看当前的内核启动参数,确认其中的 `root=` 参数是否正确指向了实际的根分区(如 `/dev/mapper/ubuntu--vg-ubuntu--lv` 或 `/dev/sda2`)。如果该路径无效或设备未正确识别,系统将无法找到根文件系统[^1]。可以通过以下方式修复: - 使用Live CD或USB启动,进入“试用Ubuntu”模式,检查根分区是否存在并可访问。 - 使用 `chroot` 环境重新配置GRUB和initramfs。 2. **文件系统损坏** 如果根文件系统所在的分区损坏,系统将无法挂载根设备。此时可以使用Live CD或USB启动,进入“试用Ubuntu”模式,并运行以下命令检查和修复文件系统: ```bash sudo fsck /dev/sdXY ``` 其中 `/dev/sdXY` 是根文件系统所在的分区。此命令将尝试修复文件系统中的错误,从而恢复系统的正常启动[^2]。 3. **GPT表损坏** 如果系统提示类似 `The primary GPT table is corrupt, but the backup appears OK, so that will be used` 的信息,说明磁盘的GPT分区表已损坏。可以使用 `gdisk` 工具修复: ```bash sudo gdisk /dev/sdX ``` 在交互界面中输入 `w` 并确认,将使用备份的GPT表恢复主表。完成后重启系统,通常可以解决因分区表损坏导致的启动问题[^3]。 4. **内核自动升级导致引导异常** 如果系统在断电或意外重启后无法启动,并提示找不到根设备,可能是由于内核自动升级后引导配置未同步。可以尝试在启动时选择旧版本的内核启动系统。进入Ubuntu启动菜单后,选择“Advanced options for Ubuntu”,再选择一个旧版本的内核启动,通常可以成功进入系统。 为了防止此类问题再次发生,可以固定GRUB默认启动的内核版本。编辑 `/etc/default/grub` 文件,将 `GRUB_DEFAULT` 设置为特定内核版本,例如: ``` GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-53-generic" ``` 然后运行以下命令更新GRUB配置: ```bash sudo update-grub ``` 重启后该设置将生效。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值