4

I have a boot problem on my laptop (HP ProBook 450 G2) since I tried to replace the pre-installed Windows 7 by Xubuntu 14.04. The BIOS uses the UEFI boot mode (but trying the "Legacy" boot mode does not make things any better).

Whatever I try, I cannot manage to make it find by itself the way to the root partition. It just says :

"BootDevice Not Found Please install an operating system on your hard disk. Hard Disk - (3F0)"...

My Xubuntu root is however correctly installed since I can manage to boot on it if I each time (on boot) navigate myself correctly through BIOS boot options :

I choose "Boot From EFI File", then

"Acpi(PNP0A03,0)/Pci(1F|2)/Sata(Port 0)/HD(Part1,Sig81D20AD3-C00E-47C2-ACEC-BC1F51"

, then "EFI","ubuntu", and "grubx64.efi", and then it manages to reach grub, and finally succeeds booting Xubuntu. Choosing shimx also leads to boot on my xubuntu root partition. But rebooting and letting it do by itself fails with the above message.

I heard about the "secure boot" option having to be disabled, and it seems to be the case.

My partitions are organized as follows :

/dev/sda1 fat32 121MB boot

/dev/sda2 ext4 465GB root

/dev/sda3 linux-swap 7MB

I tried to re-install grub with boot-repair utility, but it did not change anything.

By the way, here is a boot info summary from boot-repair : http://paste.ubuntu.com/9595800/

Boot-repair always ends up saying "Please do not forget to make your BIOS boot on sda1/EFI/ubuntu/shimx64.efi file!", but I don't know what to do else to make it boot on it.

I thought my MBR was maybe corrupted so I erased it with the following dd command :

dd if=/dev/zero of=/dev/sda bs=446 count=1

and then tried to repair the boot again with boot-repair, but still the same result...

I even tried to modify the EFI file and also create a new boot entry, but it did not help. Afterward, here was the status with efibootmgr :

~$ sudo efibootmgr -v

BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................

So I tried again to create a new boot entry in the EFI file :

~$ sudo efibootmgr -v -c -w -L ubuntu_14_04 -l \EFI\ubuntu\shimx64.efi
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0002,0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

...and change the boot order, to boot on the new entry I had just created :

~$ sudo efibootmgr -v -o 2,1,0
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0002,0001,0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

But after a reboot (of course, still navigating through EFI boot options to make it work) :

~$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0001* Notebook Hard Drive   BIOS(2,0,00).......................................................................
Boot0002* ubuntu_14_04  HD(1,800,100000,81d20ad3-c00e-47c2-acec-bc1f51dd12d1)File(EFIubuntushimx64.efi)

It's just like if I had lost the order I had set up.

Any one any idea ?

gman
  • 2,276
  • 4
  • 27
  • 39
Omaanuu
  • 41
  • 1
    The rEFInd option is a good one if you want that. HPs do not boot anything other than "Windows" or the hard drive. So you can create a hard drive entry using grub instead of the normal bootx64.efi. See option a1. If you do not have /EFI/Boot you will have to create that folder. http://askubuntu.com/questions/486752/dual-boot-win-8-ubuntu-loads-only-win/486789#486789 And: http://askubuntu.com/questions/346257/install-alongside-windows-8-is-not-working – oldfred Dec 22 '14 at 16:26
  • I can confirm the comment from @oldfred about setting up bootx64.efi on an older HP Probook 6460b with the latest F.50 firmware, that I have here for testing over Christmas. – LiveWireBT Dec 23 '14 at 20:05
  • @Manu Orel: I have an open support ticket for this BIOS bug with HP but they want an example of a more recent laptop than mine showing the same behavior before they contact their BIOS team. Would you mind emailing me? (see address in my profile). (Everyone else: sorry that this is kind of offtopic...but hopefully it should lead to a proper fix) –  Feb 24 '15 at 13:19

4 Answers4

1

It's hard to boot into Ubuntu without adding the booting entry into the Bootloader. But since you can boot into Ubuntu manually, you can use another bootloader, rEFInd. How to install rEFInd in Ubuntu:

sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
sudo apt-get install refind

More information here: http://www.rodsbooks.com/refind/

1

This worked for me HP UEFI doesn't boot Ubuntu automatically.

I added customboot value (EFI\ubuntu\grubx64.efi) in the bios and now it boots up into ubuntu automatically.

Tim Bailey
  • 111
  • 3
0

Have you tryed enter this in the tty or terminal:

     sudo apt-get purge -y --force-yes shim-signed-efi grub* shime-signed-generic 

    sudo apt-get install -y --force-yes  shim-signed-efi shim-signed-amd64 shim-signed-generic 

and then enter this also in the tty or terminal:

    sudo  apt-get update 

    sudo apt-get upgrade 

and it might work fine this way.

Michael
  • 2,499
  • 5
  • 19
  • 24
0

You made a little mistake in your command:

sudo efibootmgr -v -c -w -L ubuntu_14_04 -l \EFI\ubuntu\shimx64.efi

Because the slash is a metacharacter in bash the actual value passed is: EFIubuntushimx64.efi

You should put the path in quotes or use double slashes, the following worked for me:

sudo efibootmgr -c -l "\EFI\ubuntu\shimx64.efi"
  • You are right the path should be quoted or properly escaped, but it seem like a lot of people have problems with HP machines booting this way due non-standard behavior that is hardcoded in the firmware (the default loader bootx64.efi was initially only for removable media). – LiveWireBT Dec 23 '14 at 20:16