Dual boot but only Windows boots
Solution 1:
Do not know how your got grub legacy installed to MBR, but you only have UEFI boot and data in MBR will never be used.
Many vendors now modify UEFI to only boot Windows by description. So ubuntu entry does not work. But UEFI also boots hard drive entry as /EFI/Boot/bootx64.efi. So we copy grub into /EFI/Boot and rename it ot bootx64.efi and system will boot from hard drive entry.
From live installer mount the efi partition on hard drive Mount efi partition. check which partition is FAT32 with boot flag. Often sda1 or sda2 but varies.
sudo mount /dev/sda1 /mnt
mkdir only if not already existing, your have this but others may not:
sudo mkdir /mnt/EFI/Boot
sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
If new folder created, the bootx64.efi will not exist, skip this command
sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
make grub be hard drive boot entry in UEFI. If not existing, may have to update UEFI also with efibootmgr.
sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi
Other work arounds:
Dual boot Win 8 / Ubuntu loads only Win
windows 8.1 changes boot order
How do I get my HP laptop to boot into grub from my new efi file?