5

I have installed Ubuntu 14.04 LTS in a dual-boot config with Windows 8.1 following the instructions in this Ubuntu Forums post

(I added an ext4 /home partition.)

Even after step seven,

Write bcdedit /set {bootmgr} "path\EFI\ubuntu\shimx64.efi" in the terminal

my PC will not show me a boot menu: Windows boots automatically.

I ran the command sudo efibootmgr -v and this is the output.

Zanna
  • 70,465
user305139
  • 63
  • 1
  • 1
  • 6
  • Many UEFI systems have an option in the UEFI settings to change the boot order. If I am right, you need to set Ubuntu to boot first and make Windows Boot Manager boot second. – John Scott Jul 13 '14 at 16:15
  • @FuzzyToothpaste you should make that an answer. – ubfan1 Jul 13 '14 at 16:42
  • I didn't make it one because I didn't know if it would fix it for sure. Now that you have suggested it I will do that right now. – John Scott Jul 13 '14 at 17:40
  • user305139 Did you install Ubuntu in UEFI mode i.e. Not enabling Legacy Mode or BIOS Mode)? If you don't know what I am talking about, you're probably fine. – John Scott Jul 13 '14 at 18:15
  • Please read this completely: http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-8-64-bit-system-uefi-supported

    I followed the forum posts and there are several issues already answered in this link, including yours. Remember to do the steps in order. I will not mark this as duplicate because you are in a place where you can either start from the beginning by installing Ubuntu again (Which would mark this as duplicate) or try to solve this specific problem.

    – Luis Alvarado Jul 13 '14 at 20:31
  • Luis Alvarado means to read the first answer and that you SHOULD NOT read the question because it is unrelated and may confuse you. – John Scott Jul 13 '14 at 22:10

5 Answers5

3

Your issue

BootNext: 0009
BootCurrent: 000F
Timeout: 0 seconds
BootOrder: 000F,0008,0009,000A,000B,000C,0007,000D,000E,0001
Boot0001* Windows Boot Manager  HD(3,363800,82000,17b1af25-3a01-4b33-9fa5-e6324bca1b76)File(\EFI\ubuntu\grubx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................

As you have already found out, you probably have a functional entry for \EFI\ubuntu\grubx64.efi that seems to be labelled as Windows Boot Manager, which can be very confusing.

Possible solution

As I don't know of a method to rename these entries I suggest to remove this entry by running the following efibootmgr command:

efibootmgr -B 0001

Where 0001 is the number of the entry to delete and that should be changed according to current efibootmgr output.

To create a new entry run the folllowing command:

efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"
  • /dev/sdX should be changed to the actual device name that contains the Ubuntu partition and the EFI System Partition/ESP (it is recommended to have an ESP for each drive you want to boot from), most likely /dev/sda.
  • Y is the partition number of the ESP, most likely 1.

A possible workaround or recommended fallback could be to set up gummiboot.

LiveWireBT
  • 28,763
  • After running these command i get this : http://pastebin.com/FautmKsz

    It seems to be good I will try to reboot and use the Windows Boot Manager

    – user305139 Jul 14 '14 at 10:44
  • I choose Ubuntu on the Windows Boot Manager but when my computer reboot Windows starting ! I think i should install Grub again ? – user305139 Jul 14 '14 at 10:51
  • No this command only registeres the bootloader in UEFI NVRAM. For installing grub you should mount the ESP to /boot/efi and run sudo grub-install --boot-directory /boot/efi /dev/sda/. If that still does not give you a bootable Ubuntu installation, then read the troubleshooting section from the link posted earlier in a comment. – LiveWireBT Jul 14 '14 at 11:04
1

In nearly every BIOS ever made, there is something called boot order. This is still an option in today's UEFI systems. However, GRUB is started as soon as Ubuntu boots, and when you choose Ubuntu in GRUB, it continues the boot process. If you choose Windows, it "redirects" you to the Windows partition and boots. However, if you boot straight to Windows, that means that your system is not attempting to boot Ubuntu at all. There is a simple fix for this. As soon as your computer turns on, press F1, F2, delete, esc, or something similar to access the settings. If you did this correctly, you will see a screen similar to the one displayed below, but every BIOS is accessed and is displayed differently.

BIOS

Navigate to the boot settings. In this example, you should go to the tab labeled "Boot" by pressing the right arrow key four times. Then look for something called "Boot Order" or "Boot Priority". Here is where things get complicated. In BIOS', you would see a list of devices and move them up or down a list. However, in UEFI (which you have and, if you don't know this already, is the same thing as EFI), you would choose from a list of all existing bootable partitions on all detected devices. You want to set the Ubuntu partition to boot first, so, if you're not already, get to the boot order settings and make sure you see a screen like the one displayed below (except the one below was taken in a traditional BIOS, sorry).

enter image description here

Despite what you may have heard, you should keep Secure Boot enabled. Let me tell you how Secure Boot works. Every UEFI system that has support for Secure Boot (basically just about any computer that came with an OEM installation of Windows 8) has a list of keys made into the BIOS. There is almost always a key for Windows. Basically, your UEFI needs a key for something before it can boot. That way, if a virus tries to make your computer boot a virus, your UEFI will just say you can't boot from that because you don't have the key. You have to have a corresponding key before something to boot. That's how Secure Boot protects you. However, not every UEFI has a key for Ubuntu. There is no difference in the boot process when you boot from a CD, flash drive, or hard drive. So, if you can boot Ubuntu live fro a CD or flash drive or ran the installation program, your UEFI has the key for Ubuntu and knows that Ubuntu is safe. That means you can leave Secure Boot enabled without problems. Hooray! Also, you need to keep UEFI enabled and never ever set it to Legacy mode or BIOS mode or whatever your UEFI may say. Then, in the list, you should see an option labeled Ubuntu or something similar. Move it to the top of the list, as the list can be rearranged. Save and exit your UEFI, and, if you're lucky, you should see GRUB asking which operating system to boot.

karel
  • 114,770
John Scott
  • 1,462
  • 7
  • 24
  • 48
  • 1
    If the boot order in UEFI Settings (BIOS) does not give you the ability to select Ubuntu, then efibootmgr will allow you to reorder the boot entries. Put Ubuntu first, before the other entries. – ubfan1 Jul 13 '14 at 19:43
1

Get EasyBCD: problem solved. I have two Linux OSs on my computer with Windows 7.

Download EasyBCD

Zanna
  • 70,465
user305306
  • 11
  • 1
  • 3
    Please include complete instructions on how to make Ubuntu boot with UEFI on a preinstalled Windows 8.1. EasyBCD has been suggested many times here to great length, the problem is that this is mostly for legacy/MBR machines or installations, as is the Windows 7 default setup. However the OP asked for UEFI. Please make yourself familiar with UEFI booting. – LiveWireBT Jul 14 '14 at 05:12
  • I have yet to see a confirmed report of EasyBCD being usable on EFI/UEFI computers. In my own attempts (admittedly a few months ago), it was 100% useless on EFI-based systems, since it set up the Linux entry as if for a BIOS-mode boot, which of course failed miserably. – Rod Smith Jul 14 '14 at 13:09
1

I post an answer because i have many things to share !

1 - Thanks to @LiveWireBT i have create a new entry (named Ubuntu) with EFI Boot Manager and i can choose it with the Windows boot Manager. But when i choose Ubuntu my computer didn't want to boot on it. It boot on Windows.

2 - After I use easybcd thanks to @user305306 and i see that Windows 8.1 is the "by default" system. So i change the configuration to get this :

EasyBCD

I reboot my computer and i see a menu who let my choose the system !!! Weepee ! But when i choose Ubuntu i get an error who said that he could not found grubx64.efi. I will post the picture soon !

EDIT : This is the error i get : Error message

In english : The app or system could not be charged because the file is missing or contain errors.

user305139
  • 63
  • 1
  • 1
  • 6
0

I managed to boot to Ubuntu!

  1. I used efibootmgr as LiveWireBT advised.

  2. In Windows with EasyBCD I changed the status of Ubuntu. I put "System default" and placed it first in the list

  3. I removed all the "Windows Boot Manager" entries EXCEPT Windows 8.1

  4. When I reboot my PC I had access to the Grub and I was able to choose Ubuntu!

user305139
  • 63
  • 1
  • 1
  • 6