Well, I understand that this whole thing is a bit confusing: Chameleon boots OSX which can be started only on EFI, but then Chameleon can not start UEFI Windows.
This is my try to add a bit more light to it ...
On our UEFI boards UEFI booting of Win goes like this (Win UEFI installation on GPT disk):
UEFI => \EFI\Microsoft\Boot\Bootmgfw.efi (Win UEFI booter) => WinBootmgfw.efi requires UEFI environment. Can not be run in BIOS environment.
BIOS Win booting (legacy BIOS installation on MBR or GPT hybrid disk):
UEFI => BIOS => Win partition booter => WinOSX boot:
UEFI => BIOS => Chameleon => fake EFI Runtime services => OSXSo, Chameleon does not operate in UEFI, but in BIOS environment. It just fools OSX into believing that it is booted in EFI environment by passing to OSX fake EFI Runtime services. That's enough for OSX to start and run.
Since Chameleon runs in BIOS environment, it can only boot Win in BIOS environment:
UEFI => BIOS => Chameleon => fake EFI Runtime services => OSX
.........................\=> Win partition booter => WinIdeally, on our boards we need this:
UEFI => some UI boot manager => /System/Library/CoreServices/boot.efi (OSX EFI booter) => OSX
............................\=> \EFI\Microsoft\Boot\Bootmgfw.efi (Win UEFI booter) => Winbut time for this has not come yet.
Edit: just to be more precise, Chameleon does a lot more when booting OSX then just Runtime services: EFI memory map, device tree, ACPI tables patching, SMBIOS patching ...
Edit 2, to be more complete:
There is an option to use UEFI based booters like Clover (
http://www.projectosx.com/forum/index.php?showtopic=2304), XPC, iBoot and on our UEFI boards it looks like this:
UEFI => BIOS => Clover/XPC/iBoot UEFI => Clover/XPC/iBoot booter => /S/L/CS/boot.efi (OSX EFI booter) => OSX
................................................................\=> \EFI\M\B\Bootmgfw.efi (Win UEFI booter) => Winwhere Clover/XPC/iBoot UEFI is UEFI implementation based on Tianocore DUET, that runs on top of BIOS.
And a note: I did not try to boot UEFI Win through them since I currently do not have one. Plus, never managed to start XPC and iBoot.