When Windows 10 - 64 bit boots in EFI mode, the file the firmware loads is located at /EFI/BOOT/bootx64.efi
in the hidden EFI partition. Basically you moved and renamed grub 2 to this location and name. Your Mac thinks it is booting Windows when in fact it is boot grub 2. This is not because you have a new Retina MacBook Pro 2015 model (MacBookPro11,5). This also working for me and I have a iMac 2007 model (iMac7,1).
Update 1:
I admit the above post is badly worded. When I refered to Windows 10, I was looking at an installation done in EFI mode using VirtualBox on my 2007 iMac. Rod's comment is correct, both EFI/BOOT/bootx64.efi
and EFI/Microsoft/Boot/bootmgfw.efi
exist and are identical. I am not sure which file VirtualBox uses to boot the virtual machine.
I have Windows 8.1 - 64 bit installed on my iMac even though Apple's web site "System requirements to install Windows on your Mac using Boot Camp" specifies only Windows 7 - 32 bit. This installation uses the legacy BIOS/MBR scheme.
The point I was trying to make was that Windoze's solution to booting Ubuntu (via GRUB 2) has nothing to do with having a UEFI compliant Mac. I successfully tested his method to boot Ubuntu installed on my internal hard disk. This fact my be of interest to other Mac users.
As for a detail explanation of why this method works for Windoze's case, I refer to the the Unified Extensible Firmware Interface
Specification, Version 2.5, April, 2015. Section 3.5.1.1 Removable Media Boot Behavior, on pages 88-89, specifies for the x64 architecture the firmware will attempt to boot from removable media using the file located at \EFI\BOOT\BOOTx64.EFI
.
Update 2:
This is in response to Ron's comment about Mac's not being UEFI compliant.
When determining if a Mac has an UEFI, I look at the file /Applications/Utilities/Boot Camp Assistant.app/Contents/Info.plist
. Below is a listing taken from my Mac with Yosemite OS X 10.10.4 and Boot Camp Assistant version 5.1.4 (500) installed. Specifically, I am looking at the array listed after the key PreUEFIModels
. I have assumed that if a Mac model is later than one given in the array, Windows can and should be installed in EFI/GPT mode.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>32BitSupportedModels</key>
<array>
<string>MacBook7,1</string>
<string>MacBookAir5,2</string>
<string>MacBookPro10,1</string>
<string>MacPro5,1</string>
<string>Macmini5,3</string>
<string>iMac12,2</string>
</array>
<key>BuildMachineOSBuild</key>
<string>14D81</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDisplayName</key>
<string>Boot Camp Assistant</string>
<key>CFBundleExecutable</key>
<string>Boot Camp Assistant</string>
<key>CFBundleGetInfoString</key>
<string>Boot Camp Assistant 5.1.4, Copyright © 2015 Apple Inc. All rights reserved</string>
<key>CFBundleIconFile</key>
<string>DA</string>
<key>CFBundleIdentifier</key>
<string>com.apple.bootcampassistant</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Boot Camp Assistant</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>5.1.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>500</string>
<key>DARequiredROMVersions</key>
<array>
<string>IM41.0055.B08</string>
<string>IM42.0071.B03</string>
<string>IM51.0090.B03</string>
<string>IM52.0090.B03</string>
<string>IM61.0093.B01</string>
<string>MP11.005C.B04</string>
<string>MB11.0061.B03</string>
<string>MBP11.0055.B08</string>
<string>MBP12.0061.B03</string>
<string>MM11.0055.B08</string>
</array>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>6D504m</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>14D77</string>
<key>DTSDKName</key>
<string>macosx10.10internal</string>
<key>DTXcode</key>
<string>0630</string>
<key>DTXcodeBuild</key>
<string>6D504m</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
<string>10.9.0</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>PreESDRequiredModels</key>
<array>
<string>MacBook7</string>
<string>MacBookAir5</string>
<string>MacBookPro10</string>
<string>MacPro5</string>
<string>Macmini6</string>
<string>iMac13</string>
</array>
<key>PreUEFIModels</key>
<array>
<string>MacBook7</string>
<string>MacBookAir5</string>
<string>MacBookPro10</string>
<string>MacPro5</string>
<string>Macmini6</string>
<string>iMac13</string>
</array>
<key>PreUSBBootSupportedModels</key>
<array>
<string>MacBook7,1</string>
<string>MacBookAir3,2</string>
<string>MacBookPro8,3</string>
<string>MacPro5,1</string>
<string>Macmini4,1</string>
<string>iMac12,2</string>
</array>
<key>Win7OnlyModels</key>
<array>
<string>MacBook7,1</string>
<string>MacBookAir3,2</string>
<string>MacBookPro5,5</string>
<string>MacPro2,1</string>
<string>Macmini4,1</string>
<string>iMac10,1</string>
</array>
</dict>
</plist>
bless
to switch booting to ubuntu? It is not a question of how to do it, but rather which way do you prefer.