错误:在 ubuntu 13.10 中未找到文件‘/grub/i386-pc/normal.mod’

错误:在 ubuntu 13.10 中未找到文件‘/grub/i386-pc/normal.mod’

我已经安装了 ubuntu 13.10,但重新启动后出现以下消息:

GRUB loading:
Welcome to GRUB!

error: file '/grub/i386-pc/normal.mod' not found
Entering rescue mode...
grub rescue>

我有以下分区设置:

/dev/sdb5:  /boot  ext4   500MB
/dev/sdb6:  swap            4GB
/dev/sdb7:  /      ext4    60GB
/dev/sdb1:         ntfs   900GB

我已经尝试过“的解决方案错误:未找到文件‘/grub/i386-pc/normal.mod’“ 和 ”安装 ubuntu 12.04 后修复 grub2”但并未获得成功。

为此,我使用了 1TB 外置硬盘,不想弄乱 /dev/sdaXY 上的窗口。我有一台 acer travel mate,配备 Intel i5 处理器、4 GB RAM。我使用的是 64 位 ubuntu 的 iso 映像,名为“ubuntu-13.10-desktop-amd64.iso”。请帮帮我,我尝试了各种解决方案,但在过去 3 天内都没有解决问题。

答案1

当我尝试在我的系统上安装 Mint 16 和 Ubuntu 13.10 时,我遇到了类似的问题(与 Windows 7 双启动,替换现有的 Mint 15 安装)。两次安装都导致出现此消息,并且重新安装/重新配置 Grub 无法解决问题。

似乎至少就我的情况而言,安装程序认为我想使用 EFI(安全启动),但事实并非如此。我明确在 UEFI BIOS 中禁用了它,但当我检查 /boot/grub 时,它只包含一个“x86_64-efi”文件夹,缺少所需的“i386-pc”文件夹(BIOS/非 EFI 设置所需)。

以下解决方案对我有用(使用 Ubuntu 13.10):

启动 Live DVD/USB,打开 shell 并执行:

sudo -s
#where sda1 is my root partition
mount /dev/sda1 /mnt
mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount -o bind /dev /mnt/dev 
mount -o bind /tmp/ /mnt/tmp
# chroot into your ubuntu installation
chroot /mnt
# remove all those grub efi packages
apt-get remove --purge grub-efi-amd64 grub-efi-amd64-bin
# and re-install grub with the bios (non-efi) packages only
apt-get --reinstall install grub-common grub-pc os-prober
# if there is an error repeat the setup via:
grub-install --recheck /dev/sda

补充笔记:

  • 如果您有一个单独的启动分区,那么您也需要在重新配置 grub 之前将其挂载。
  • 可能需要在引导加载程序的第一个分区之前留出一些可用(未分区)空间(可以使用 Live 系统中的 GParted 来完成)。
  • 如果 apt-get 无法访问(找到)远程存档主机,请尝试手动设置 DNS 服务器(在家中通常是路由器的)IP,例如:“echo nameserver 192.168.0.1 >> /etc/resolv.conf”
  • 请注意,GPT(非 MBR 分区表)的设置可能有所不同 + 当与需要 EFI 的系统进行双启动时,这肯定不起作用。

答案2

解决方案来自此链接适用于 Ubuntu 13.10,请再试一次,但在您的情况下,命令应该如下所示。

sudo mount /dev/sdb5 /mnt
sudo grub-install /dev/sdb --root-directory=/mnt

答案3

我不知道用户是否在新机器上遇到这个问题,但这是我在工作老板刚给我的新电脑上发现的。

像往常一样,我清空了硬盘以摆脱 Windows,并使用可启动闪存驱动器安装了 Ubuntu 13.10。安装并重启后,我遇到了以下错误消息:

未找到‘/boot/grub/i386-pc/normal.mod’。

在网上查阅了大量资料后,我对所找到的内容不太满意,于是我决定检查一下 BIOS。在摆弄我的新 PC 的 BIOS 设置时,我发现这台新机器有两个启动选项:EFI 或 Legacy。机器默认使用 EFI 启动。

我关掉新电脑,插入 Ubuntu 可启动闪存驱动器,打开电脑,点击F9(其他机器可能不同)直到我得到启动源选项。我选择在传统模式下从闪存驱动器启动。点击Enter,然后重新安装 Ubuntu。

这一次,重新启动我的机器后,电脑启动正常。

相关内容