Grub救援,找不到i386-pc/normal.mod,应该是x86

Grub救援,找不到i386-pc/normal.mod,应该是x86

我将一个 Linux Mint 多重启动 U 盘插入我的 Arch Linux 笔记本电脑,目的是擦除它并在上面放置其他东西。我的笔记本电脑无法识别 USB 记忆棒,因此我愚蠢地按照 Arch Linux wiki 上的说明手动安装了它。 (请原谅我没有发布链接,因为我是通过手机写这篇文章的。)我能够看到 /mnt/usbstick 中的文件,我认为一切都很好。

然而,现在当我启动笔记本电脑时,我会被发送到 grub 救援。我收到/grub/i386-pc/normal.mod无法找到的错误消息。

当我输入 时ls,我得到:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

我尝试过为每个设置根和前缀,但它不起作用。

当我使用(hd0,msdos1)并尝试 insmod 正常时,我收到错误消息,指出/grub/i386-pc/normal.mod无法找到。我使用(hd0,msdos1)/boot, and (hd0,msdos1)/boot/grub, and得到同样的错误(hd0,msdos1)/boot/grub2

当我使用其他两个中的任何一个时,insmod 正常返回unknown filesystem.

如果我插入 Linux Mint 多重引导 USB 记忆棒,我会看到 Linux Mint 的安装屏幕,而不是 grub rescue。

我已经看过启动管理器了,看起来很正常。

有一件事似乎不太正确,Linux Mint 安装的是 i386,但我有 x86 Arch Linux。

更新:我刚刚了解到 USB 记忆棒是使用 YUMI 创建为多重启动可启动 USB 驱动器,以防相关。

非常感谢您的帮助。

答案1

尝试使用前缀(hd0,msdos1)/boot.

i386-pc是一个 GRUB架构名称意思是“32位x86 PC”。 Intel 80386,简称 i386,是 1985 年 x86 架构 32 位扩展的最初实现,因此它的名字通常是“任何 32 位 x86 系统”的同义词。

x86 处理器系列在其生命周期中获得了许多指令集扩展。有时,如果程序需要至少具有可用的原始英特尔奔腾处理器的指令集,i586则可以将其用作体系结构名称或名称组件。如果程序被编译为使用 CMOV 机器代码指令(在原始 Pentium Pro 中可用),则i686可以同样使用。

相关内容