双启动 Windows 8.1 和 Ubuntu 13.10。“找不到 /boot/grub/i386-pc/normal.mod”

双启动 Windows 8.1 和 Ubuntu 13.10。“找不到 /boot/grub/i386-pc/normal.mod”

我一直想让 Ubuntu 13.10 和 Windows 8.1 一起启动。我在主硬盘上安装了 Ubuntu(预装了 Windows)。但是,当我尝试启动 Ubuntu 时,它直接跳转到 Windows。我查看了无数问题、答案和论坛,但都帮不上忙。

当我加载 Windows 时,一切都很好,但是当我加载 Ubuntu 时,出现此错误:

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

我做的第一件事是运行引导修复,但什么也没做。在引导修复过程中,出现了一个对话框,上面写着:

WinEFI detected. Backup and rename WinEFI files? Yes or no? (or something like that)

这是我的问题吗?我两种方法都试过了,但都没有成功。

我在 UEFI 和传统模式下都尝试过此操作,结果都一样。我还尝试过切换安全启动,但这似乎还是没有任何效果。

以下是启动修复后的粘贴(我最后一次做的):http://paste.ubuntu.com/7227403

有人能帮帮我吗?这真是令人沮丧。提前谢谢了。

答案1

使用以下技术找到 Linux 所在的分区

grub rescue > ls (hd0) (hd0, msdos9)....(在您的情况下,不是‘msdos’,而是‘gpt’)

grub rescue > ls (hd0,msdos9)

grub rescue > ls (hd0,msdos8)

grub rescue > ls (hd0,msdos5) # suppose this is linux

grub rescue > ls (hd0,msdos5)

grub rescue > set root=(hd0,msdos5)

grub rescue > set prefix=(hd0,msdos5)/boot/grub

grub rescue > insmod normal

grub rescue > normal

Now, system's boot menu appears. Boot into linux.

sudo update-grub

sudo grub-install  /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb

这修复了引导加载程序。

相关内容