First, your problem of an inability to boot the installer in EFI mode was most likely the result of one or more of three things:
- An incorrectly-prepared boot medium -- To boot in EFI mode, a boot medium must have an EFI-mode boot loader. Not all tools for creating bootable USB disks from
.iso
images, though, copy the necessary EFI boot loader files. Most notably, Pen Drive Linux (aka YUMI) does not create these files. Most other tools do create these files, but you might have used some obscure tool that does not. The solution to this problem is to use another tool to create the boot medium.
- Incompatibility between your EFI and your boot medium -- On occasion, a disk that boots fine in EFI mode on one system will fail to boot in EFI mode on another one. This is because of quirks in the boot medium and in the EFI implementations. The solution, as in the previous case, is to use another tool to create the boot medium.
- User error during the boot process -- You may need to select specific options to boot in EFI mode. Most importantly, your firmware must be configured to boot in EFI mode rather than in BIOS/CSM/legacy mode. You may also need to select the correct boot option; in many cases, you'll see two options to boot an external disk, one of which includes the string UEFI and the other of which does not. To boot in EFI mode, you must select the option that includes the string UEFI; the other option will boot in BIOS mode.
If you start the installer in BIOS mode, then the same tools and procedures will most likely start the Boot Repair utility in BIOS mode, too, and that will make a 100% complete and proper installation of an EFI-mode boot loader impossible. (There can be workarounds and hackish install of EFI-mode boot loaders from a BIOS-mode boot, though.)
You can read more about the problems with controlling BIOS-mode vs. EFI-mode booting on my Web page on the subject. Note that some online tutorials for installing Linux, especially older tutorials, give horrible advice on EFI mode; they recommend enabling the BIOS/CSM/legacy support (which is almost always a mistake) and ignore the issue of using appropriate tools for creating a bootable medium. My CSM page is intended to set the record straight on these issues.
In your specific case, I recommend you download and prepare the USB flash drive or CD-R version of my rEFInd boot manager. This tool works only in EFI mode, so if you can get it to boot, you're guaranteed that you're running rEFInd itself in EFI mode. On UEFI-based PCs, rEFInd defaults to booting only EFI-based OSes, so if you can boot Ubuntu from the rEFInd menu, Ubuntu will then be booted in EFI mode. You can then install rEFInd using its PPA or Debian package, run Boot Repair, or manually install the EFI version of GRUB. Any of these actions should get your computer booting in EFI mode directly, without using the rEFInd USB drive or CD-R.
Before you go too far down this road, though, you should check your current Windows boot mode (as describe on this page of mine) and your partition table. Based on your description, I suspect you're booting Windows in EFI mode from a GPT disk, which makes booting Ubuntu in EFI mode desirable, too; however, you should verify this to be 100% sure before you start messing with your permanent boot loader installation.
Best Answer
Enabling BIOS/CSM/legacy support was a mistake. You now have Windows installed in EFI mode and Linux installed in BIOS mode. Most computers make it difficult to switch from one boot mode to the other, so such mixed-mode installations are difficult to manage.
To fix it, install an EFI boot loader for Linux. As detailed on the page to which I've just linked, several are available; but as part of the normal process of EFI boot loader installation requires that you be booted in EFI mode, you can't do this from your current Ubuntu installation -- at least, not without jumping through some extra hoops. There are several ways around this, one of which is:
/boot
partition, you'll need to hit F2 or Insert twice, rather than Enter, to launch Ubuntu. When you do this, a simple line editor will open, in which you must enter aroot=
specification pointing your kernel to your root filesystem.