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.

I am consistently getting the ERROR: No boot disk has been detected or the disk has failed. message when trying to boot a single OS Ubuntu 14.04LTS setup.

I have a brand new Packard Bell L4875-i5 with Acer BIOS v 2.15.1227. I am able to choose Secure boot or not, but I haven't found any EFI options in the BIOS. The HDD is recognized as "UEFI: ADATA SX900" by the BIOS. The original Win 8 HDD that the shipped with the PC was replaced by a brand new SSD 128 GB disk prior to the Ubuntu install.

Regression:

  • I got 13.10 to boot after hours of trial and error with boot-repair and trying different BIOS settings. After upgrading to 14.04 I encountered this bug: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977 which I tried to fix with boot-repair. Repeated the same steps that got it working in 13.10, but no luck. I am back to: ...No boot disk has been detected...
  • Fresh clean install of 14.04 on a wiped SSD, Ubuntu defaults for a single OS boot results in ERROR: No boot disk has been detected or the disk has failed..
  • I have tried both Secure Boot On and Off, no difference.
  • As before, boots fine with the help of Supergrubdisk.
share|improve this question
    
My SDD drive looks like this: NAME FSTYPE SIZE MOUNTPOINT LABEL sda 119,2G ├─sda1 vfat 487M /boot/efi ├─sda2 ext4 110,9G / └─sda3 swap 7,9G [SWAP] –  tomoqv Apr 24 at 11:15
    
After running boot-repair I get the following output: An error occured during the repair. ... The boot files of [OS used now - Ubuntu 14.04 LTS] are far from the start of the disk. Your BIOS may not detect them. You may want to retry after creating a /boot partition (EXT4, >200MB, start of the disk). This can be performed via tools such as gParted. Then select this partition via the [Separate /boot partition:] option of [Repair start-up]. –  tomoqv Apr 24 at 11:17
    
I am still getting the "...No boot disk has been detected...", but I can enter the OS on disk using the supergrub2 disk, but it is kind of annoying not being able to boot directly off the hard disk. I with somebody could point me in the direction of an easy solution where I am able to boot Ubuntu 14.04 and nothing else. The whole idea of the SSD-Ubuntu venture was to get rid of Win 8.1 completely... –  tomoqv Apr 24 at 11:23
    
Please post either the URL that Boot Repair gave you when you ran it or the URL to a pastebin site's page holding the RESULTS.txt file that you get when you run Boot Info Script. Your problem description includes too little detailed information, so without this output (or the equivalents, which would take several commands to acquire), any answer will be based on guesswork. –  Rod Smith Apr 25 at 12:29
    
An error occurred during the repair. Please write on a paper the following URL: paste.ubuntu.com/7329846 –  tomoqv Apr 25 at 13:33

4 Answers 4

It should be booting OK now. My suspicion is that you've got a buggy firmware that refuses to boot anything but Microsoft's EFI boot loader. The workaround to this is to rename your boot loader to use either the default filename (EFI/BOOT/bootx64.efi) or the name used by Microsoft's boot loader (EFI/Microsoft/Boot/bootmgfw.efi). You can rename either GRUB or rEFInd to one of these names, since you've got them both installed. The rEFInd documentation covers this in more detail here:

http://www.rodsbooks.com/refind/installing.html#naming

You can do the same thing from the "Advanced" menu in Boot Repair; however, that tool is reporting problems with the version of GRUB, which makes me a bit wary of continuing to use it -- it could be you're running into a bug that could end up preventing it from doing what it should, and that might even make matters worse.

share|improve this answer
    
Thanks Rod, I have spent an hour or two reading your execellent write-up on boot managers and loaders! I have learnt a lot, but don't have a chance to put it in practise until Monday when I am back in the office. I was also starting to assume that the EFI firmware looks for the MS boot loader only. I will do a fresh install again to clean things up and probably make a >550 MB fat16 EFI partition before I install Ubuntu. After that I will try to rename the GRUB2 files and if that doesn't work maybe try the gummiboot option as it seems to be the simplest of your suggestions. –  tomoqv Apr 25 at 20:59
    
I have again wiped the disk and done a fresh install. The install program created a /boot/efi/EFI/ubuntu directory. I copied the 4 files in there to /boot/efi/EFI/BOOT/ and to /boot/efi/EFI/Microsoft/Boot/ and renamed grubx64.efi to bootx64.efi and bootmgfw.efi respectively. Problem persists though. My grub.cfg in those directories look like this: search.fs_uuid 64ec3f0-cb8e-4c99-938f-c1e352624123 root hd0,gpt2 set prefix=($root'/boot/grub' configfile $prefix/grub.cfg –  tomoqv Apr 28 at 7:19
    
Try preparing a rEFInd CD-R or USB flash drive. (Images for both are available on the rEFInd downloads page. If you can boot from it, you should be able to Ubuntu. (You'll need to disable Secure Boot, though.) You'll then be in a better position for experimenting with more permanent solutions. –  Rod Smith Apr 28 at 17:58
    
Hi Rod, I am already booting the PC with the help of supergrubdisk, so I can make permanent changes to the OS on the SSD. I came one step closer to a solution today. I installed gummiboot and added it to efibootmgr. I also reinstalled grub2 and ran update-grub. Looking at the output from efibootmgr I now get 5 entries: Ubuntu, ADATA something (my SSD), Windows Boot Manager, Gummiboot and the DVD. If I delete the boot order in efibootmgr, the PC seems to boot directly into Ubuntu (only OS on the SSD), but upon a restart the "No disk..." error is back. Changing the boot order again, it boots. –  tomoqv Apr 28 at 19:57
    
I will continue to experiment tomorrow. It seems there is, in fact, a workable boot on the SSD, but i guess I need to delete the boot directories I don't need. I am not sure if it is using gummiboot or grub2 when it boots right into Ubuntu. I don't see any startup menu though. –  tomoqv Apr 28 at 19:59

Answered by OP in original question:

Finally got it to work! I am not quite sure what does it, but after installing Gummiboot AND updating Grub2 it suddenly started to recognize my .efi files. According to efibootmgr I now have three entries: BootCurrent: 0001 Timeout: 1 seconds BootOrder: 0001,0004,0005 Boot0001* UEFI: ADATA SX900 Boot0004 Windows Boot Manager Boot0005* Gummiboot

I also tried to set BootOrder to Boot0004 and it worked. Removed the Ubuntu (originally created by the Ubuntu install) and since then it seems to work repeatedly. I don't get any boot menu though, it boots right into Ubuntu following a brief purple frame showing up around the edges of the screen.

I would like to mark this as "Solved", but as I am not quite sure what did the trick it might not be all that helpful to others.

share|improve this answer

It's a little difficult to understand your question, but it sounds to me like you may have installed Ubuntu on your SSD while your harddisk was attached, adding the boot loader to the harddisk rather than the SSD. Then you've removed the harddisk for the BIOS to load from, so you can't boot from the SSD. If this is the case, I recommend simply reinstalling from the 14.04LTS image with only the SSD connected. The default is to install the boot loader to the first disk, because that's usually the disk BIOS tries to boot from.

share|improve this answer
    
No, I disconnected the old (windows) harddisk and connected the SSD, so only the SSD connected at the time of install. I have three partitions on the SSD: sda1: EFI boot, sda2: ubuntu 14.04 and sda3: swap. It seems to me that grub.cfg was never configured correctly. I managed today to boot Ubuntu 14.04 with the help of Supergrub 2 disk, but I haven't been able to correct the grub config to boot without that rescue disk. I tried to change all gpt2 entries in grub.cfg to gpt1, but maybe it should be gpt0 = the boot partition? –  tomoqv Apr 23 at 18:09

Install Gummiboot and update Grub2

recognizes .efi files as a result. efibootmgr shows three entries:

BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0004,0005
Boot0001* UEFI: ADATA SX900
Boot0004  Windows Boot Manager
Boot0005* Gummiboot

Next set BootOrder to Boot0004.

share|improve this answer

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.