在 grub 中找不到 /dev/sdX,因此无法退出

在 grub 中找不到 /dev/sdX,因此无法退出

最近,我正在将 Ubuntu 切换到 Windows 操作系统。我忘记了我在 GUI 中设置了什么grub。当我重新启动笔记本电脑时,我发现我卡​​在grub命令行中。(见grub 命令行)。

因此,我遵循了网站上的几个指南,所有指南都指出要执行以下操作:

set root=(hd0,gpt)
linux /vmlinuz root=/dev/sdX
boot

然而,当我按照这些说明操作时,我无法发现我的 SSD 设备(参见没有像 sdX 这样的设备名称

我的笔记本电脑是 Acer Swift 3,15 英寸。单启动操作系统(Ubuntu)。我尝试检查,/mnt发现有一个名为 boot-save 的文件夹,其中包含我的 SSD 名称,但我仍然无法将指向root它(请参阅dev 下的文件

每次我都收到如图所示的内核恐慌错误。
如何解决?我很绝望也很疲惫。请帮帮我。

答案1

您尚未加载initrd

首先检查哪个分区安装了操作系统,X 数字当然也类似于设备/dev/sdaX

ls (hd0,gptX)/

找到具有 linux 文件夹结构的文件夹

bin
boot
dev
etc
home
initrd.img <== this file
initrd.img.old
lib
lib32
lib64
libx32
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
vmlinuz
vmlinuz.old

如您所见,有一个名为的文件initrd.img

因此命令如下:

set root=(hd0,gptX)
linux /vmlinuz root=/dev/sdX
initrd /initrd.img
boot

答案2

我在同一台机器上遇到了完全相同的问题。除了必须加载initrd(如前所述)之外,它还以以下方式发现了我的 sdX 的路径:

  1. 随意sdX放入root=/dev/sdX
  2. 加载initrd然后运行boot
  3. BusyBox(initramfs)shell 中出现错误,提示路径root错误
  4. 进入 shell 后,我运行ls /dev/并可以看到所有的 sdX,与之前在 grub 中不同,我的最终结果是sda2

相关内容