在使用BIOS/MBR系统时,你会将安装文件安装到MBR而几乎不会安装到分区上。但是,在使用UEFI时,你总是将安装文件安装到efi分区上。实际上,默认情况下应该安装到该分区,并且每个驱动器只能有一个带有引导标志的efi分区。
在你的情况下,将grub安装到sda3的efi分区是正确的。你应该看到为每个已安装的系统都有多个文件夹,在Ubuntu中它们被挂载在/boot/efi上,而在你的驱动器上,你有ubuntu和Microsoft文件夹,其中包含引导文件。
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
Grub2的os-prober存在一个bug,只会创建不适用于UEFI的BIOS引导项。与BIOS不同,你不能通过链式加载到Windows安装程序,而是要链式加载到efi分区。Boot-Repair可以自动在25_custom中创建条目,或者你可以按照错误报告中所示手动添加条目到你的40_custom。
grub2的os-prober创建了错误的样式(BIOS)链式引导项
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383
这是Boot-Repair中应该工作的条目类型。
menuentry "Windows UEFI bkpbootmgfw.efi" {
menuentry "Windows Boot UEFI loader" {
不起作用的条目类型:
'Windows ...) (on /dev/sdXY)'
如果需要,第三篇帖子中有一些关于清理菜单的信息。
http://ubuntuforums.org/showthread.php?t=2085530