最近,我正在将 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 的路径:
- 随意
sdX
放入root=/dev/sdX
- 加载
initrd
然后运行boot
- BusyBox(initramfs)shell 中出现错误,提示路径
root
错误 - 进入 shell 后,我运行
ls /dev/
并可以看到所有的 sdX,与之前在 grub 中不同,我的最终结果是sda2