11

I just got my new working notebook with Windows 8 pre-installed. After installing Ubuntu 12.10 the grub menu says that there is an "invalid EFI file path" and it won't boot Windows. Ubuntu works fine...

Is there anything I can do about this?

Braiam
  • 67,791
  • 32
  • 179
  • 269
Patrik
  • 119
  • I am having the same problem. A couple of other questions I came across indicated Boot Repair may help. I tried running it but got a message "GPT detected. Please create a BIOS-Boot partition. This can be performed via tools such as Gparted." I tried that but the "New partition" option is grayed out. Here is the output of my Boot Repair BootInfo summary: http://paste.ubuntu.com/1346934/ – jimchristie Nov 10 '12 at 04:51
  • 1
    I had the same problem on Win7. os-prober missleaded me: Bug1017880 and Bug109236 - so dont use it! – schmijos Nov 16 '12 at 09:09
  • 1
    This is a bug confirmed (with critical importance) in os-prober, it describes the same behavior https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383 – Braiam Dec 24 '13 at 02:12

3 Answers3

4

you should try to add windows as workaround manually to grub.

At first run

sudo blkid

Here you should see the UUID from your windows partition

open /etc/grub.d/40_custom and paste/edit following code but replace UUID_FROM_WIN8 with your UUID mentioned above.

menuentry "Windows 8 UEFI" {
    search --fs-uuid --no-floppy --set=root UUID_FROM_WIN8
    chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}

The chainloader should look the same for all windows versions, as far as i know..

After editing grub files you have to run

sudo update-grub

Please test it first and give me some feedback because it could be possible that the efi file won't be found.. but i don't want to give multiple advice in one answer..

hope this helps!

2

From the grub.cfg you posted it looks like you've done a lot of messing with grub to try to get this working, I recommend that you start by cleaning all of this up and going back to a default grub configuration (which will probably have no entry for Windows at all in the grub.cfg) and then create a file /boot/grub/custom.cfg with this for contents:

#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
}

In the long term, hopefully os-prober and grub-mkconfig will gain support for detecting UEFI based Windows installations (at which point this entry will become redundant, and you can simply delete /boot/grub/custom.cfg)

Jordan Uggla
  • 4,565
  • Nope. Hadn't messed around with grub at all. Wouldn't even know where to begin. Or how to clean it up. And I definitely don't know enough to start messing around in a file that starts off in big bold letters: "DO NOT EDIT THIS FILE." – jimchristie Nov 16 '12 at 12:17
2

Boot Repair solved it for me.

Go to your boot options (F12 or etc) and boot your liveCD or liveUSB. Make sure that you boot in UEFI (Ex. "UEFI: CD/DVD" or "UEFI: [USBname]"). Select "Try Ubuntu." Get Boot Repair and select "recommended repair."

Link: Ubuntu Boot Repair

Note: Make sure that you boot the CD or USB in UEFI. I ran Boot Repair without being in UEFI mode and I got Grub, but Windows 8 would not boot.

Hope this helps!