缺少模块(cat /proc/modules;ls /dev)并且 BusyBox 中不存在 UUID

缺少模块(cat /proc/modules;ls /dev)并且 BusyBox 中不存在 UUID

我被困在启动中,无法打开任何终端。当我尝试启动笔记本电脑时,它显示以下错误:

Gave up waiting for root device. Common problems:
-Boot args (cat /proc/cmdline)
  -Check rootdelay= (did the system wait long enough?)
-Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=718ed077-947d-4018-80ad-59825678e81d does not exist. Dropping to a shell!

BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.2) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)_

我尝试按照此链接中提到的这些步骤进行操作(https://forums.linuxmint.com/viewtopic.php?t=47594)。他们将 root=UUID=9c05139c-b5bb-4683-a860a7bdf456ccda ro Quiet Splash 更改为 root=/dev/sda5 (我使用了我的 UUID 和 /dev/sda1),但随后错误变为:

-Missing modules (cat /proc/modules; ls /dev)
ALERT! root=/dev/sda1 does not exist. Dropping to a shell!

(我试图找出安装 ubuntu 的根分区,但我无法在 initramfs 中运行 fdisk 命令,而且我也尝试运行

(initramfs) cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.3.0-53-generic root=UUID=718ed077-947d-4018-80ad-59825678e81d ro quiet splash

(initramfs) cat /proc/modules
(shows nothing)

这是我将 root=UUID=718ed077-947d-4018-80ad-59825678e81d ro Quiet Splash 更改为 root=/dev/sda1 的地方(仅以 linux 开头的行)

在此输入图像描述

答案1

我执行了以下操作来修复刷新新 BIOS 后出现的错误。

  1. reboot根据提示输入
  2. 转到 BIOS 设置
  3. 转到 SATA 配置
  4. 改成AHCI
  5. 保存并重新启动。

答案2

您的空输出cat /proc/modules表明您没有加载内核模块,因此安装当前内核时 initrd 文件生成或内核启动时硬件检测出现问题。

您可能会尝试运行modprobe ahci并强制加载标准 AHCI SATA 驱动程序,但我希望它只是告诉您ahci未找到该模块。

如果 GRUB 引导菜单中有其他可用的内核版本,那么现在是尝试它们的好时机。如果 GRUB 引导菜单有“Advanced options for”项,请选择它:它应该会显示您已安装的所有内核版本的子菜单。通常,每个内核版本都有两个启动菜单项:一个正常启动,另一个用于启动进入恢复模式。如果有早于 5.3.0-53 的内核版本可用,请尝试使用正常(非恢复模式)选项。

如果系统现在正常启动,则确认在安装最新内核更新期间创建 initrd 文件存在问题。但这应该很容易修复:首先运行sudo apt-get clean以清理包管理器的缓存:如果需要,可以再次下载该缓存中的任何内容,并且随着时间的推移,缓存有时会变得非常大,因此首先清理它是一个很好的选择步。

然后运行df -h并确保系统磁盘上的任何文件系统都不是 100% 已满。最后运行sudo update-initramfs -k 5.3.0-53-generic -u为内核版本5.3.0-53重新构建initramfs文件。如果该命令完成时没有任何错误消息,那么您现在应该能够使用最新的内核版本正常启动。

相关内容