You're probably running into issues related to selecting the boot mode -- BIOS/CSM/legacy vs. EFI/UEFI. This can usually be controlled to some degree via firmware settings and/or via the firmware's built-in boot manager. Each can usually be accessed by pressing some function key (or Esc or Del) early in the boot process, but which you get (the firmware setup utility or the boot manager) depends on which key you press. Unfortunately, it's impossible to be more precise than this because these details vary between computers. (FWIW, though, my ASUS motherboard enters the firmware setup utility via Del and the boot manager via F8.)
In theory, if you prepared the Ubuntu USB drive via a
dd command from the
.iso image file, it should boot in either BIOS/CSM/legacy mode or in EFI/UEFI mode. In practice, though, if you used another utility (like unetbootin), all bets are off; these tools often render the resulting image unbootable in one mode or another (usually EFI/UEFI mode).
Because you're dual-booting with Windows and using GPT, it's safe to say that Windows is booting in EFI/UEFI mode. It's impossible to say about Ubuntu, though; unfortunately, Ubuntu's installer is still brain-dead when it comes to detecting mis-matched boot modes, and it will happily install in BIOS/CSM/legacy mode on a computer that has a copy of Windows that's booting in EFI/UEFI mode. This can lead to problems, including exactly the one you describe, this may be what's happened to you; however, there are other possible explanations. For instance, you might have buggy firmware that refuses to boot anything but the Windows boot loader, or you might have Secure Boot enabled and no Secure Boot support for Ubuntu. (Ubuntu theoretically supports Secure Boot, but this support sometimes fails to work.)
Thus, I recommend you do the following:
- Disable Secure Boot.
- Prepare a USB flash drive or CD-R with my rEFInd boot manager and try to boot from it.
- If rEFInd boots, and if it can launch both Windows and Linux, try installing rEFInd's Debian package in Ubuntu. This should take over as the default boot manager. If this works, quit; you're done. (Unless you detest rEFInd. In that case, learn about all the available EFI boot loaders and install whichever one sounds good to you.)
- If you boot straight to Windows when you reboot after installing rEFInd, then chances are you've got a buggy firmware. Reboot to Linux using the rEFInd USB/CD-R. You can then either:
sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. This implements a hack that renames rEFInd so that it looks like the Windows boot loader. The firmware should then run rEFInd.
- Run Boot Repair, but be sure to use the Advanced settings tools and select the box to back up the Windows boot loader and put GRUB in its place. (I don't recall the exact wording of this option.) This will do something similar to
mvrefind.sh, but with GRUB rather than rEFInd.
- If all of this fails, post the URL that Boot Repair generates. It will give us more detailed information about your computer, which is necessary to give a more specific answer to your question.
One more point: You may want to read my Web page on EFI/UEFI Linux installation. It will give you a better understanding of how these things work, which may be helpful in solving your current problem and avoiding similar problems in the future.