我被困在启动中,无法打开任何终端。当我尝试启动笔记本电脑时,它显示以下错误:
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 后出现的错误。
reboot
根据提示输入- 转到 BIOS 设置
- 转到 SATA 配置
- 改成
AHCI
- 保存并重新启动。
答案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文件。如果该命令完成时没有任何错误消息,那么您现在应该能够使用最新的内核版本正常启动。