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'm trying to get UEFI boot on my ProBook 4720s. Because I swapped the HDD for a SSD I had a blank canvas to start.

The 12.04 Live DVD refuses to boot into UEFI, as do Alternate and desktop CD's. However, when I make a 16Gb flashdrive into a live FS using the bootdisk tool in ubuntu, I can boot from USB, manually into UEFI mode. It even sidesteps to DVD as medium when I boot from USB with 12.04 Live DVD present.

I installed a GPT partitiontable with part 1, label EFI, fs FAT32, flag BOOT, mounts at /boot/efi part 2, label Linux-ROOT, fs ext4, no flags, mounts at / part 3, label Linux-SWAP, fs swap, no flags, mounts as swap

So far, My system refuses to boot from harddrive by itself. I have to select "Boot from EFI file" and manually browse to (HD0,GPT1)\EFI\ubuntu\grubx64.efi any other option ends in "no system disk, please insert boot disk"

I tried installing BURG, but that merely enforces non-efi boot.

I tried most of the solutions I could find, but one says \EFI\grub\grub.cfg next says \EFI\ubuntu\ubuntu,cfg

I'm confused and getting frustrated. How do I correctly install Ubuntu 12.04 in UEFI mode on this machine???

share|improve this question
add comment

3 Answers

Well,

It seems the HP ProBook firmware is broken or i need to find a way to re-create the HP_TOOLS partition and add some obscure HP-configuration tool

I now have a booting system.

I did copy

/boot/efi/EFI/ubuntu/grubx64.efi

to

/boot/efi/EFI/boot/bootx64.efi

and the system works.

I still don't get how I can physically change the NVRAM to accept ubuntu settings.

share|improve this answer
add comment

It sounds like you've installed Ubuntu on the SSD but it will only boot by manually selecting the boot loader in the firmware's boot manager. If this is incorrect, please clarify. I'll proceed under the assumption that I've correctly summarized the situation.

You should first check your boot settings by booting manually and typing sudo efibootmgr -v. This will produce output resembling the following:

$ sudo efibootmgr -v
Timeout: 10 seconds
BootOrder: 0000,0007,0006,0008
Boot0000* Ubuntu    HD(2,1b8,64000,f1b7598e-baa8-16ea-4ef6-3ff3b606ac1e)File(\EFI\ubuntu\grubx64.efi)
Boot0006* Hard Drive    BIOS(2,0,00)SATA: ST32000542AS            .
Boot0007* CD/DVD Drive  BIOS(3,0,00)PATA: HP DVD Writer 1040r     .
Boot0008* INTERNAL EFI SHELL: ST32000542AS  ACPI(a0341d0,0)PCI(1f,2)ATAPI(1,0,0)HD(2,1b8,64000,f1b7598e-baa8-16ea-4ef6-3ff3b606ac1e)File(\EFI\BOOT\BOOTX64.EFI)

Details are likely to be different for you. This example shows the Boot0000 variable points to a GRUB boot loader file (\EFI\ubuntu\grubx64.efi), and specified on the BootOrder line as being the first boot loader.

If you don't see an entry for GRUB, you can try to create one with efibootmgr:

sudo efibootmgr -c -l \\EFI\\ubuntu\\grubx64.efi -L Ubuntu

This example creates a new entry for the /EFI/ubuntu/grubx64.efi boot loader on the ESP and gives it the name "Ubuntu". Note that you must specify the boot loader program name relative to the ESP's root directory, and you must use doubled-up backslashes (\\) rather than Linux-style forward slashes (/) to separate directory elements. You may also need to add more options if your ESP isn't /dev/sda1. (See the efibootmgr man page for details.)

If you've got an entry for GRUB, then it sounds like your firmware is broken and isn't using the NVRAM entries. It's probably looking for a boot loader using a default filename on the ESP -- probably /EFI/Boot/bootx64.efi, or perhaps /EFI/Microsoft/Boot/bootmgfw.efi. You should be able to copy grubx64.efi from wherever it's located (probably /EFI/ubuntu) to one of those default names to get it to launch automatically.

share|improve this answer
add comment

If you are not EFI booting Windows 7 and you are already trying to use grub EFI, you may copy everything from /boot/grub/ to HP_TOOLS/Microsoft/Boot/ and rename grub.efi to bootmgfw.efi. When you do this, you can boot grub_efi from the OS Boot Manager selection on the HP boot selection menu. This is actually pretty hackish but it works for me since Windows will boot automatically and Ubuntu can be launched using the EFI BIOS selection with minimal user input.

I primarily use Ubuntu, but in my line of work I find myself using Windows more often since they use the poorer choice for their operating environment of which I need to support. If you're in a similar situation this hack may suit you as well.

share|improve this answer
add comment

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.