Ubuntu – GRUB menu not showing with dual-boot UEFI mode installation

dual-bootgptgrub2mbruefi

Previously I had Dell Inspiron Laptop with Legacy Boot and MBR disk partitioning with pre-installed Ubuntu 12.04. I needed dual boot with Windows. So I formatted it completely using Live USB, installed new Windows 8.1 and then installed Ubuntu 14.04, each of Windows and Ubuntu in Legacy mode. When I used to start my laptop, after exiting BIOS it shows GRUB menu where I can choose from Ubuntu or Windows 8.1 options.

Now I have HP Pavilion 15 Laptop which has pre-installed windows 8.1 in UEFI mode and GPT disk partitioning. I installed Ubuntu 14.04 alongside on it and everything is working fine except that I had to pres Esc key as soon as the laptop starts and then pressing F9 - Boot Device Options and then selecting Ubuntu from the menu that appeared. If I don't press F9 it'll directly boot to windows. And no GRUB menu is shown.
Can someone help me how can I get GRUB menu on it?

Best Answer

First try to change the boot order in BIOS (UEFI) settings.
Select Ubuntu to be the default operating system to boot.

If this is not possible boot into Windows and disable hibernation and Fast Boot.

To disable hibernation open command prompt as administrator and execute this command:

powercfg /h off  

To disable Fast Boot open Control Panel (the old version - not the modern design),
select the Energy Settings, enable show hidden settings and uncheck Fast Boot.

After having done this shutdown the machine completely - do NOT reboot!

Then reinstall the GRUB boot loader to your Ubuntu installation in EFI mode.

Boot from the Ubuntu installation media - then open a terminal and execute:

sudo mount /dev/sd*** /mnt
sudo mount /dev/sd** /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sd*
update-grub  

Now you can choose which operating system you want to boot from the GRUB boot loader menu.

Note :

sd* = disk | sd** = efi partition | sd*** = system partition

To identify the partition numbers use GParted.
The tool is included in the Ubuntu install media.

Related Question