Ubuntu – EFI Dual Boot Windows 8.1 and Ubuntu 14.04

bootdual-bootuefiwindows

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.

Best Answer

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