我刚拿到了预装了 Windows 8 的新笔记本。安装 Ubuntu 12.10 后,grub 菜单显示“无效的 EFI 文件路径”,无法启动 Windows。Ubuntu 运行正常……
我能做些什么来解决这个问题?
答案1
您应该尝试手动将 Windows 作为解决方法添加到 grub。
首次运行时
sudo blkid
在这里你应该可以看到 Windows 分区的 UUID
打开/etc/grub.d/40_custom并粘贴/编辑以下代码但替换 UUID_FROM_WIN8使用上面提到的 UUID。
menuentry "Windows 8 UEFI" {
search --fs-uuid --no-floppy --set=root UUID_FROM_WIN8
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
据我所知,chainloader 在所有 Windows 版本中看起来都应该相同。
编辑 grub 文件后你必须运行
sudo update-grub
请先测试一下,然后给我一些反馈,因为可能找不到 efi 文件...但我不想在一个答案中给出多条建议。
希望这可以帮助!
答案2
从您发布的 grub.cfg 来看,您似乎对 grub 进行了大量修改以尝试使其正常工作,我建议您首先清理所有这些并返回到默认 grub 配置(在 grub.cfg 中可能根本没有 Windows 的条目)然后创建一个文件 /boot/grub/custom.cfg,其中包含以下内容:
#This entry should work for any version of Windows installed for UEFI booting
menuentry "Windows (UEFI)" {
search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
从长远来看,希望 os-prober 和 grub-mkconfig 能够获得检测基于 UEFI 的 Windows 安装的支持(此时此条目将变得多余,您只需删除 /boot/grub/custom.cfg 即可)
答案3
Boot Repair 帮我解决了这个问题。
转到启动选项(F12 等)并启动 liveCD 或 liveUSB。确保您在 UEFI 中启动(例如“UEFI:CD/DVD“ 或者 ”UEFI:[USB 名称]“)。选择“试用 Ubuntu”。获取启动修复并选择“推荐修复”。
关联:Ubuntu 启动修复
笔记:确保以 UEFI 启动 CD 或 USB。我运行了 Boot Repair,但没有进入 UEFI 模式,并且得到了 Grub,但 Windows 8 无法启动。
希望这可以帮助!