9

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?

  • 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: paste.ubuntu.com/1346934 – jimchristie Nov 10 '12 at 4:51
  • I had the same problem on Win7. os-prober missleaded me: Bug1017880 and Bug109236 - so dont use it! – schmijos Nov 16 '12 at 9:09
  • This is a bug confirmed (with critical importance) in os-prober, it describes the same behavior bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383 – Braiam Dec 24 '13 at 2:12
3

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!

  • You guessed it, the efi file was not found. – jimchristie Nov 12 '12 at 1:14
  • could you paste your windows menuentry out of your /boot/grub/grub.cfg? are you using ntfs on your windows partition? – Christopher Jahnke Nov 12 '12 at 2:24
  • I don't know about ntfs... It's whatever was factory installed. I found a couple of different things in that file that sounded like Windows menu entries. Here's the entire thing: pastebin.com/kGKPWbBH – jimchristie Nov 12 '12 at 14:54
  • 1
    It is NTFS by default, ever since at least XP ;) – 0xC0000022L Nov 15 '12 at 4:06
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)

  • 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!

Not the answer you're looking for? Browse other questions tagged or ask your own question.