Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Hello after a successfull installation of Ubuntu 12.10 amd64, I am now unable to boot Windows 8.

Here are my actions:

  1. Made room (15 GB) for Ubuntu from Windows 8 Computer Managment
  2. Boot Ubuntu 12.10 amd64 LiveUSB with EFI and with Secure Boot enabled
  3. Created 2 new partitions at the end (13 GB Ext4 Root amd 2 GB Swap)
  4. Selected Windows 8 EFI System Partition to install bootloader

Grub gives me at boot:

  1. Ubuntu (works without problems)
  2. Windows Recovery Environment (lots of errors)
  3. Windows 8 (2 error messages describe just below)

The 2 error messages are:

  • error: can't find command drivemap.
  • error: invalid EFI file path
share|improve this question
    
Rectification I selected "the newly created EFI System Partition" to install the bootloader, but in reallity it installed the bootloader on the Windows 8 EFS... –  Kouros Dec 28 '12 at 17:07
    
Did you do a backup beforehand? i.e the windows 8 start/system partition is something small like 150-350 MB so maybe you did dd if=/dev/sda1 of=/media/some_usb_pendrive/backupfile? If such a backup exists I would restore the windows system/start partitio which might have been "damaged". –  humanityANDpeace Dec 28 '12 at 17:58
    
Sorry no backup but I managed to get Windows 8 back using Recovery Environment (by pressing the assist button instead of the power on button) –  Kouros Jan 4 '13 at 10:39
    
did you seriously make a duplicate of your own question? Install Ubuntu 12.10 on UEFI along Windows 8 –  duxk.gh Jan 4 '13 at 10:49
    
NOTE: upgrading to 13.04 removed this change in my install. –  gcb Jun 20 '13 at 6:22
add comment

6 Answers 6

up vote 6 down vote accepted

I found a temporary solution.

Add a custom entry to GRUB bootmenu

Append the code below to /etc/grub.d/40_custom.

menuentry "Windows 8" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

You can use Ctrl+Alt+T to open a terminal and run sudo nano /etc/grub.d/40_custom, then copy and paste the code. Finally then press Ctrl+O to save and Ctrl+X to leave.

Heads up: hd0,gpt1 here is the ID of my EFI System Partition (ESP). If your ESP is not the first partition on your first harddrive during boot, then yours is different! E.g. hd1,gpt2 for the second partition on the second drive.

Replace part_gpt with part_msdos if the drive uses MBR and legacy partitioning and also change hd0,gpt1 to hd0,msdos1 respectively.

Apply changes to GRUB

Simply run the following command, which should generate a new GRUB configuration, including the new custom entry:

sudo update-grub

Now reboot, you should be able to boot Windows 8 now. If not, and Windows complains about corrupted BCD configuration, then continue on superuser: How can I repair the Windows 8 EFI Bootloader?


Warning: On some occasions, if you boot Windows 8, GRUB will be replaced by Windows Boot Manager as default boot manager.

share|improve this answer
    
what should i 'aim' for? i thought it was the windows data partition (gpt4 here) but it worked with gpt1, which is the only EFI partition i have. i though installing ubuntu would have overwritten the windows content of the EFI partition, like grub does to the MBR... –  gcb Feb 15 '13 at 6:16
1  
This solution is not working for me. Is the character ` appearing in the set root='(hd0,gpt1)' intended. It gives error for me (I try with gpt3) even without that character also. The error is like (hd0,gpt1) is not found. –  iammilind Aug 2 '13 at 12:12
add comment

The wrong Windows entries in GRUB are due to this bug: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383

Solution: run Boot-Repair's Recommended Repair from a liveCD (or liveUSB).

share|improve this answer
1  
I had to disable "secure boot" in the bios before this would work. –  Robin Winslow Apr 30 '13 at 16:21
    
@RobinWinslow Yes, Boot-Repair also worked for me (Lenovo Thinkpad S540) but only if I disabled SecureBootin the bios, otherwise Windows 8 still complains...Would be nice if this could be made to work whilst retaining SecureBoot –  fpghost Dec 19 '13 at 10:04
add comment

I found a way to shut Windows 8 up. See http://superuser.com/questions/499923/preinstalled-windows-8-and-linux-uefi-dual-boot-on-a-laptop/528581

Under W8, in an elevated privilege command window, run powercfg /h off. By the time you do this, W8 may already have overwritten the EFI partition. It took me a few iterations of changing bootmgfw.efi and having it reset until it stuck, but now I'm happy.

I can't tell if just booting W8 is enough, or if you have to log in and then reboot. Perhaps somebody with more patience (I was working on this for more than half a day) can tell.

share|improve this answer
add comment

I have the same problem on my Asus-x202 laptop (running W8 & Ubuntu 13.04).

A slightly annoying work around is good enough for me for the moment: in the boot menu go to system (or start bios from the start using probably f2). If you use the override to boot, Windows will start as usual.

share|improve this answer
1  
What exactly are you referring to by "the override to boot"? I don't understand that part of your answer. –  gertvdijk Aug 15 '13 at 15:09
add comment

The "override to boot" is a menu on the "boot" tab of the motherboards configuration menu. It lets you select and start instantly any boot loader installed yet on your rig.

share|improve this answer
1  
@edwin This answer could use expanding, but it does appear to be an attempt to answer the question that was asked. vic: Welcome to Ask Ubuntu! I recommend editing this to add more information about how to use that feature, as well as a more thorough explanation of why it solves this problem. Thanks. –  Eliah Kagan Aug 16 '13 at 0:58
add comment

I have a similar issue with my new HP Pavillion Sleekbook, Model 15-b142dx. It came with W8 pre-loaded. I was able to re-size the Windows partition from within Windows, then installed 64-bit Ubuntu 13.04 from a thumb drive. However, on reboot, W8 started normally, with no boot menu. So, I used "boot-repair", which made the system unbootable. On start-up, it would print:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E 
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub
Failed to open \EFI\BOOT\grubx64.efi - 800000000000000E
Failed to load grub

It would then shut down.

After some trial and error, I found that pressing F10 during boot would take me to the BIOS, where I could disable Secure Boot. The next boot, I got a LONG menu from grub, with lots of entries like:

Windows UEFI bkpbootmgfw.efi
Windows Boot UEFI loader
EFI/HP/BIOSUpdate/CryptRSA32.efi
.
.
.

These were all contained in a file, "/etc/grub.d/25_custom". I made a backup copy of that file, then eliminated all the entries except Windows Boot UEFI loader. (This is one of the entries that allows W8 to boot). I then ran "update-grub", and wound up with a much nicer boot menu, and can boot either OS.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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