https://help.ubuntu.com/community/UEFIBooting is a good introduction to booting on UEFI with Grub.
They say: "If you have a non-Mac UEFI system, then you have a x86_64 (aka 64-bit) UEFI 2.x firmware. " But I did saw non-MAC UEFI which was 32 bit on relatively old laptops. Type the following command in a MacOS terminal : ioreg -l -p IODeviceTree | grep firmware-abi Which should show either EFI32 or EFI64. Later in that document: Using Apple bootloader itself (safest option) You need to use the following naming convention for grub.efi : EFI Bootloader path and filename 32-bit /EFI/BOOT/BOOTIA32.EFI 64-bit /EFI/BOOT/BOOTX64.EFI Also, about not having a console in GNUMach... UEFI have their own drivers, written in a virtual machine (Describe in Appendice J of [1]). When you begin in UEFI, you get the EFI_SYSTEM_TABLE (section 4.2) where you get handles to: *ConIn (Console Input) and *ConOut (Console Output), that is describe more in chapter 12, and Appendix B of [1]. [1]: https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_A_Feb14.pdf taken from: https://www.uefi.org/specifications/ The question is... how to we get the EFI_SYSTEM_TABLE, that was read by BOOTX64.EFI (which I believe is part of Grub binary package)... or is there an other way to get it again?