Grub2 无法链式加载 Windows 7,并出现错误“无效签名”

Grub2 无法链式加载 Windows 7,并出现错误“无效签名”

我构建了一个新的 UEFI 64 位系统,其中安装了 Windows 7 和 Ubuntu 11.10(安装在不同的硬盘上)。我希望能够从 grub 菜单启动 Windows 7,但到目前为止,我还没有成功让 grub 链式加载它。

获取 grub 菜单后,我选择命令行选项,可以看到 bootmgfw.efi 位于(hd1,gpt1)/efi/Microsoft/Boot/bootmgfw.efi。但是,当我尝试链式加载时,出现错误:

grub> chainloader (hd1,gpt1)/efi/Microsoft/Boot/bootmgfw.efi
error: invalid signature

我不确定从 LiveCD 安装 Linux 时是否选择了 UEFI 启动选项,因此我想知道我拥有的 grub 是否无法以这种方式进行链式加载?无论如何,我不确定如何使链式加载工作。

答案1

当我写问题时,我开始怀疑,问题在于 Linux 是使用 MBR 安装的,因此 grub 无法链式加载 EFI Windows 7。我重新安装了 Linux,这次确保从 BIOS 中选择了 LiveCD 的 UEFI 启动选项。现在 Linux 已通过 EFI grub 安装,我能够为 Windows 7 添加 grub 菜单项并成功链式加载。

我用了此链接创建适用于 Windows 7 的菜单项。

完成后将sudo vi /etc/grub.d/40_custom菜单项添加到文件末尾,不要忘记运行sudo update-grub

相关内容