UEFI firmware technology may have its positive aspects, but it also comes, like everything else, with its not-so positive aspects. It is not-so positive because it was a pain to figure out exactly how it works with OS boot managers and boot devices, especially when attempting to dual-boot multiple OSs on one hard drive, or even on multiple hard drives.
Instead of installing the boot files in the Master Boot Record (MBR), an entry for each OS in created in /boot/efi/EFI directory, which should be in an EFI partition. That results in a corresponding entry for each OS in the boot menu.
For example, take the entries in this screenshot, which was taken from the boot menu of a test PC, a custom-built box with an ASRock motherboard. Each OS entry represents a different installation of the OS, and not necessarily on the same hard drive. You can tell that I’ve installed Fedora a lot more times on the PC than other OSs. The AHCI P2: WDC WD5000… entry is for a 500 GB hard drive, while the ASUS… entries are for an external CD/DVD drive.
In this screenshot, the Ut165… entries are for a 4 GB Flash stick used for installing the Linux distributions. The AHCI P3: WDC WD3200… entry is for a 320 GB hard drive.
One thing that I’ve learned about installing an OS on a PC with UEFI firmware is this. The system will not boot if the entry for the hard drive is chosen as the boot device. And that is true whether it is selected as the boot device from the boot menu, or is made the default boot device in the UEFI setup utility. In this screenshot, for example, Ubuntu 14.10 and Windows 7 are installed in dual-boot fashion on a 500 GB hard drive, which is represented by the AHCI P3: WDC WD5000… entry. The system will not boot if the AHCI P3: WDC WD5000… entry is chosen as the boot device. To boot, an entry for any of the installed OSs must be selected from the boot menu or made the default boot device.
Knowing that UEFI is handled differently by each PC vendor, the foregoing might not even be true if your PC is not built using an ASRock motherboard, like a reader indicated in this forum post.