Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

  1. #1
    Join Date
    Dec 2013
    Beans
    48

    How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    I am installing 14.10 64 bit on to an entry level, mATX, new HP 110-225ea Desktop PC. It has an AMI bios version 1.8.0.0 and the machine was preloaded with Windows 8.1. I have reformatted the drive to eradicate Windows. The 1 TB hard drive that I installed to is the first drive in the BIOS Boot Order. (The only other drive is an optical dvd player)

    I get this error.

    "Error: No boot disk has been detected or the disk has failed."

    Upon re start I can get into a setup menu with esc.
    From there I can do this:-

    Run UEFI application
    Hard drive id appears - only one entry as expected
    Enter
    EFI appears - only one entry as expected
    Enter
    Two choices appear <..> or <ubuntu>. If <..> is selected there are no choices. If <ubuntu> is selected there are 3 choices, MokManager.efi, grubx64.efi and shimx64.efi

    I can start Ubuntu by selecting grubx64.efi. I can run sudo update-grub ok. When I reboot I get the same error message "Error: No boot disk has been detected or the disk has failed."

    What do I need to do to get Ubuntu to auto boot?

  2. #2
    Join Date
    Jun 2009
    Location
    SW Forida
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    HP modifies UEFI to only boot Windows.

    Those dual booting copy grub to /EFI/Boot/bootx64.efi and boot hard drive entry. Which you can do.
    But since only booting Ubuntu change name/label of Ubuntu in UEFI to Windows and then it should let you boot "Windows".

    See d: You can use shim as shown in example or grubx64.efi
    http://ubuntuforums.org/showthread.php?t=2234019
    sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\grubx64.efi"

    Details on efibootmgr

    http://linux.dell.com/cgi-bin/gitweb...README;hb=HEAD
    http://software.intel.com/en-us/arti...and-scripting/

    If you still have the old Windows entry in UEFI as it does remember settings in its NVRAM, you may need to delete it first.
    modprobe efivars
    sudo efibootmgr -v
    The "-v" option displays all the entries so you can confirm you're deleting the right one, and then you use the combination of "-b ####" (to specify the entry) and "-B" (to delete it). Examples #5 is delete:
    http://linux.dell.com/cgi-bin/gitweb...README;hb=HEAD
    Last edited by oldfred; December 11th, 2014 at 05:50 AM. Reason: Typo in " \EFI should not have space
    For more info on UEFI boot install & repair - Regularly Updated :
    http://ubuntuforums.org/showthread.php?t=2147295
    Please use Thread Tools above first post to change to [Solved] when/if answered completely.

  3. #3
    Join Date
    Dec 2013
    Beans
    48

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    I would like to take this a step at a time if I may. I read that another poster had done a number of things and you said only one was required.

    I tried this:

    sudo efibootmgr -c -L "Windows Boot Manager" -l " \EFI\ubuntu\shimx64.efi"

    and it returned this:-

    Timeout: 2 seconds
    BootOrder: 0007,0001,0002,0003,0006,0005,0004,0000
    Boot0000* ubuntu
    Boot0001 USB Floppy/CD
    Boot0002 USB Hard Drive
    Boot0003 ATAPI CD-ROM Drive
    Boot0004* CD/DVD Drive
    Boot0005* USB Floppy/CD
    Boot0006* Hard Drive
    Boot0007* Windows Boot Manager

    It did not let me auto boot Ubuntu but came up with the previous error:-

    "Error: No boot disk has been detected or the disk has failed."

    I tried:

    sudo efibootmgr -c -L "Hard Drive" -l " \EFI\ubuntu\shimx64.efi"

    It returned:-

    Timeout: 2 seconds
    BootOrder: 0003,0001,0002,0008,0000
    Boot0000* ubuntu
    Boot0001 USB Floppy/CD
    Boot0002 USB Hard Drive
    Boot0008 Fake Legacy Option
    Boot0003* Hard Drive

    What would you recommend to try next?

  4. #4
    Join Date
    Jun 2009
    Location
    SW Forida
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    You do not boot ubuntu when you change the name but boot the "Windows" entry. Because we have renamed the file that the Windows entry uses to grub (or shim).
    So run the rename to Windows as that is all your system will let you boot and then choose Windows in UEFI menu. That will boot grub.

    After your first rename this uses UEFI to boot shimx64.efi.
    Boot0007* Windows Boot Manager
    For more info on UEFI boot install & repair - Regularly Updated :
    http://ubuntuforums.org/showthread.php?t=2147295
    Please use Thread Tools above first post to change to [Solved] when/if answered completely.

  5. #5
    Join Date
    Dec 2013
    Beans
    48

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    I tried to rename " \EFI\ubuntu\shimx64.efi" to "\EFI\Windows\shimx64.efi" by simply renaming the ....\ubuntu\...folder.

    Disaster, couldn't get back into installed ubuntu. Now re-installing. To delete an entry listed by

    Code:
    sudo efibootmgr
    then type

    Code:
    sudo efibootmgr -b 3 -B
    (to remove item Boot0003)

    I no longer have Windows 8.1 on the machine, I am not dual booting, I simply want to know how to auto boot Ubuntu.

    Is it just the efibootmgr that I need to get right or is there some other file? Is it NVRAM and if so how do I clear that?

    The full path to my shimx64.efi is \boot\efi\EFI\ubuntu\shimx64.efi and I have tried using that but to no avail.

    Really stuck now.
    Last edited by robert48; December 11th, 2014 at 12:07 AM.

  6. #6
    Join Date
    Jun 2009
    Location
    SW Forida
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    It is internal to UEFI. The vendors modify it so it only boots the Windows entry. But they do not check what the Windows named entry boots, so we rename the Ubuntu entry or actually create a new entry that is just like the ubuntu entry but has the name Windows.

    You do not change anything in the efi partition as that partition and paths must match the UEFI entry.

    This creates an entry in UEFI menu that say Windows but actually looks in the ubuntu folder in the efi partition for grub.
    sudo efibootmgr -c -L "Windows Boot Manager" -l " \EFI\ubuntu\grubx64.efi"

    Ubuntu has a policy statement that vendors should not change to only boot based on one desription.
    Vendors violated UEFI specs - http://hwe.ubuntu.com/docs/ubuntu-bi...quirements.pdf
    Firmware should not enforce any boot policy other than the mechanism specified in Section 3 of the
    UEFI 2.3.1 specification [UEFI 2.3.1]. Specifically, firmware should not modify boot behaviour de-
    pending on the Description field of the EFI_LOAD_OPTION descriptor.
    If you have reinstalled you may need to delete old UEFI entries. It has NVRAM and saves entries. And entries in UEFI are specific to drive, gpt's GUID and paths.

    This is one of my entries.
    Code:
    Boot000D* ubuntu    HD(1,800,fa000,3195d314-ce88-42ac-beac-d9f80289ac11)File(\EFI\UBUNTU\GRUBX64.EFI)..BO
    the 1 is the hdd number , the next 2 hex numbers is the start sector and # of sectors of efi partition, the next long number is the Partition unique GUID # , can be seen with gdisk option i
    Last edited by oldfred; December 11th, 2014 at 12:30 AM.
    For more info on UEFI boot install & repair - Regularly Updated :
    http://ubuntuforums.org/showthread.php?t=2147295
    Please use Thread Tools above first post to change to [Solved] when/if answered completely.

  7. #7
    Join Date
    Mar 2011
    Beans
    1,417

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    To fool HP's broken UEFI implementation, put into nvram:
    sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" (reversed order fixed, extra \ s removed)
    Case is not really important in a FAT filesystem. The bootmgfw.efi is the name of the original (now absent) Microsoft bootloader.
    Next, set up the bootloaders. Use shimx64.efi as the bootloader. Copy it into <your mount point>/EFI/Microsoft/Boot/bootmgfw.efi (Using the foward slashes you use on a Linux system). Also, copy grubx64.efi into the <your mount point>/EFI/Microsoft/Boot directory (since shim expects it there). I usually leave the grub.cfg file in <your mount point>/EFI/ubuntu/grub.cfg. grubx64.efi will find it there.
    That should be a working boot setup for secure or non secure boot . If you don't care about secure boot, you can just copy grubx64.efi into ...bootmgfw.efi
    Just as a fallback, you may put another copy of shim (or grubx64.efi) into .../EFI/Boot/bootx64.efi (note name change to bootx64.efi)(and a copy of grubx64.efi there too).
    Some machines will try that if the requested boot fails.
    Last edited by ubfan1; December 11th, 2014 at 06:32 PM. Reason: Fix the first bootloader name

  8. #8
    Join Date
    Dec 2013
    Beans
    48

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    Quote Originally Posted by ubfan1 View Post
    To fool HP's broken UEFI implementation, put into nvram:
    sudo efibootmgr -c -L "Windows Boot Manager" -l "\\EFI\\Boot\\Microsoft\\bootmgfw.efi"
    Note the need for double backslashes to get one backslash into the string. (Case is not really important in a FAT filesystem.) The bootmgfw.efi is the name of the original (now absent) Microsoft bootloader.
    Next, set up the bootloaders. Use shimx64.efi as the bootloader. Copy it into <your mount point>/EFI/Microsoft/Boot/bootmgfw4.efi (Using the foward slashes you use on a Linux system). Also, copy grubx64.efi into the <your mount point>/EFI/Microsoft/Boot directory (since shim expects it there). I usually leave the grub.cfg file in <your mount point>/EFI/ubuntu/grub.cfg. grubx64.efi will find it there.
    That should be a working boot setup for secure or non secure boot .
    Just as a fallback, you may put another copy of shim into .../EFI/Boot/bootx64.efi (note name change to bootx64.efi)(and a copy of grubx64.efi there too).
    Some machines will try that if the requested boot fails.
    Umm....we set up
    "\\EFI\\Boot\\Microsoft\\bootmgfw.efi"
    then copy shimx64.efi into <your mount point>/EFI/Microsoft/Boot/bootmgfw4.efi

    Boot and Microsoft are in reverse order...is that correct??

  9. #9
    Join Date
    Jun 2009
    Location
    SW Forida
    Beans
    Hidden!
    Distro
    Ubuntu

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    @ubfan1
    I have seen and posted with one / many times.
    Are some implementations different? or change in UEFI version?

    As I did this on my system. This has typo: " \EFI should not have space
    Code:
    sudo efibootmgr -c -L "Windows Boot Manager" -l " \EFI\ubuntu\shimx64.efi"
    Corrected version:

    Code:
     sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"
    And it created this entry which is identical to the ubuntu entry except for the name.


    Code:
    Boot0001* Windows Boot Manager    HD(1,800,fa000,3195d314-ce88-42ac-beac-d9f80289ac11)File( \EFI\ubuntu\shimx64.efi)
    Boot0000* ubuntu    HD(1,800,fa000,3195d314-ce88-42ac-beac-d9f80289ac11)File(\EFI\UBUNTU\SHIMX64.EFI)
    Just noticed, at least some of my instuctions have an extra space which I am sure is an issue.
    Last edited by oldfred; December 11th, 2014 at 05:54 AM. Reason: fix typo with extra space
    For more info on UEFI boot install & repair - Regularly Updated :
    http://ubuntuforums.org/showthread.php?t=2147295
    Please use Thread Tools above first post to change to [Solved] when/if answered completely.

  10. #10
    Join Date
    Dec 2013
    Beans
    48

    Re: How do I get Ubuntu 14.10 64bit Desktop to auto boot on an EFI system?

    Corrected (space removed) version did not change anything, I still get the Error message whrn booting and can still only access Ubuntu by using the 'run EFI application' in setup by interupting the boot process by pressing the esc key.

    I am also experiencing some strange behaviour using efibootmgr. The list grows by adding duplicates and what I want to add doesn't get on the list.

    sudo efibootmgr
    Timeout: 30 seconds
    BootOrder: 0008,0002,0009,000A,000B,000C,0003,0006,0007
    Boot0002 USB Hard Drive
    Boot0003* USB Floppy/CD
    Boot0005* CD/DVD Drive
    Boot0006* ATAPI CD-ROM Drive
    Boot0007* USB Floppy/CD
    Boot0008* Hard Drive
    Boot0009* USB Floppy/CD
    Boot000A* ATAPI CD-ROM Drive
    Boot000B* USB Floppy/CD
    Boot000C* CD/DVD Drive

    entries 3, 7, 9 and B all being a case in point. The more I delete them then the more return when I reboot.

    When using the efi setup function I have <ubuntu> and <Windows> to select from. Both contain shimx64.efi, grubx64.efi and MokManager.efi

    If I run MokManager I get a menu:-

    Continue boot
    Enroll key from disk
    Enrol hash from disk

    Choosing either of the enroll options I get another menu:-

    Exit
    ACPI(PNP0A03,3)/PCI(11|0)/?/HD(Part1,Sig5501B014-0F85-459B-Aff5-08D641C8A804)

    I can hit the enter key with the cursor (underscore) aligned with the long entry and there is no feedback. Both 'enroll file' and 'enrol hash' have the same long entry.

    I then run shimx64.efi to get back in. I tried to tidy up efibootmgr again and got to this:-

    sudo efibootmgr -b 9 -B
    Timeout: 5 seconds
    BootOrder: 000C,0002
    Boot0002 USB Hard Drive
    Boot0003* USB Floppy/CD
    Boot0008* Hard Drive
    Boot000A* ATAPI CD-ROM Drive
    Boot000C* CD/DVD Drive

    upon reboot, (Using the esc, Run UEFI Application from setup) I get:-

    sudo efibootmgr
    Timeout: 5 seconds
    BootOrder: 0002,000D,0003,000E
    Boot0002 USB Hard Drive
    Boot0003* USB Floppy/CD
    Boot000D* USB Floppy/CD
    Boot000E Fake Legacy Option

    That is pretty weird to me. I need to bomb the 'internal' efi memory and get it off the system I think.
    Last edited by robert48; December 11th, 2014 at 10:56 AM.

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •