Windows 8 和 Ubuntu 12.04 双启动问题

Windows 8 和 Ubuntu 12.04 双启动问题

我在预装了 Windows 8 的笔记本电脑上安装了 Ubuntu 12.04。但是当我选择 Windows 8 进行启动时,我收到以下错误:错误:未知命令“drivemap”错误:无效的 EFI 文件路径

我多次运行了 boot-repair。输出结果如下: http://paste.ubuntu.com/5689718/

希望你能帮我。

答案1

您的 Boot Repair 输出显示了 Windows 的 GRUB 配置,就像基于 BIOS 的计算机上的一样,但您似乎在 EFI 模式下运行。这就是问题的根源。一种解决方案是创建一个手动 GRUB 节,如下所示:

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt2)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

您可以将其直接放入/boot/grub/grub.cfg文件中,但这只是暂时的。更好的长期解决方案是将其放入文件中/etc/grub.d/40_custom,然后运行update-grub。这将创建一个(可能)有效的新条目。

一个复杂因素是,您似乎正在使用安全启动。我不确定 Ubuntu 12.04 附带的 GRUB 版本(实际上可能是 12.04.2),但某些版本的 GRUB 在安全启动处于活动状态时,在 EFI 模式下启动 Windows 时会出现问题。因此,除非您禁用安全启动,否则上述解决方案可能不起作用。您需要在固件设置中仔细查找如何禁用安全启动;具体细节因计算机而异。即便如此,从 GRUB 启动 Windows 似乎也很难说得通;在一台计算机上有效的方法在另一台计算机上可能无效。

一个完全不同的选择是安装rEFInd,它补充或替代了 GRUB。这也可能需要您禁用安全启动;如果不这样做,您将需要在第一次重新启动时注册 rEFInd 的密钥;请参阅rEFInd 的安全启动文档了解详情。(我假设 Ubuntu 12.04.2 具有支持 MOK 的更新版本的 shim。如果没有,安全启动将变得更加棘手,因为您需要安装新版本的 shim。)不过,理想情况下,只需安装 rEFInd Debian 包就可以让一切正常工作,特别是如果您首先禁用安全启动。

相关内容