Mac – Windows 10 EFI on MacPro 4,1 -> 5,1

bootcampefihigh sierramac prowindows

I'm attempting an EFI install of Windows 10 on a 2009 (4,1) Mac Pro firmware upgraded to 5,1. I'm running High Sierra, and installing Windows 10 on a second partition on the same disk. I have no problem installing Windows 10 via bootcamp (which defaults to legacy mode). In this case, the Windows Bootcamp Drivers (v. 5261) install perfectly and Windows boots normally (i.e., when holding ALT during bootup, I can select a partition labeled "Windows." I am also able to boot directly back and forth b/w Windows and Mac using Bootcamp Control Panel in Windows 10 / "Startup Disk" in High Sierra).

The problem is that I cannot seem to properly install Windows 10 in EFI mode. In order to install using the EFI option on the Win10 Install DVD (or a USB installation), I first have to create a partition (using Bootcamp Assistant or Disk Utility) and then reset my MBR to "Protected" wth Gdisk. I can then perform an EFI installation of Windows 10, but when I run BootCamp's drivers (I've tried BootCamp 5.1 v. 5261, as well as 6.1 and 4.0), Windows crashes with a black screen and then turns off.

Additionally, when I perform an EFI installation, I cannot boot into Windows XP from High Sierra using "Startup Disk." Although "Windows" appears in the last of startup options, if I reboot from "Startup Disk" I get a black screen with a flashing DOS cursor. With a legacy installation, I don't experience this issue.

I believe that Windows 10 EFI is not properly detecting my video card (an Apple NVIDIA GeForce GT 120). In Legacy mode, the bootcamp drivers properly register it as a GT 120, but in EFI mode, Windows recognizes it as a GeForce 9500 GT. With an EFI install, the only way I can boot fully is to first disable the Display Adapter in Safe Mode. Any attempt to install a video card driver (with Bootcamp or using NVIDIA's drivers) causes windows to crash and go into a boot loop until I disable the video card. Normal workarounds (like running BootCamp.msi from an elevated command prompt, or editing the launch conditions for BootCamp.msi using orca) let me complete installing Bootcamp in EFI, but I still have to disable the Display Adapter in safe mode, and I still cannot boot into Win10 from OS X (using "startup disk").

I've tried editing Bootcamp's Info.plist (to enable Windows 10, USB, and edit the 'PreUEFI' section) but this doesn't make a difference. I've also tried using WinClone to convert a (working) Legacy Mode windows installation into an EFI installation and I get the exact same errors (a bootloop until I disable the display adapter in safe mode).

I would keep the Legacy Mode installation and forget about the EFI installation – but my goal is to create additional partitions so that I can eventually triple-boot macOS/Windows/Ubuntu (which I cannot do with a Legacy Mode installation, which limits me to 4 partitions per disk). I would also like to avoid using alternative boot managers (like reFInd) and stick with the Apple Boot Manager instead.

If anyone had any insights, I'd really appreciate any help in getting my EFI installation to work (or, alternatively, adding partitions to a legacy installation).

Thanks!

Best Answer

Apple did not supply EFI mode Window drivers for your Mac. Therefore, there is no point pursuing an EFI install of Windows. In the later versions of macOS (including High Sierra), the Boot Camp Assistant can be used to download the Windows Support Software for 64 bit installs of Windows on your Mac. At the time of this writing, this download should be the same as downloading Boot Camp Support Software 5.1.5621.

Editing Bootcamp's Info.plist as solution is a myth. What you end up with is a installer for a different Mac. In other words, the installer usually will not even boot on the Mac used to create it.

Triple booting from your primary internal disk is not only possible, but has been documented at Ask Different, Super User and Ask Ubuntu. Of course, you have not specified which operating systems you wish include in your desired triple boot. For your Mac, the best course is to boot any Windows operating systems in legacy BIOS mode and all others in EFI mode.

The rEFInd boot manager is useful tool, but is usually not required to boot an operating system on newer Mac computers. The Apple Boot Manager usually is capable of booting any Mac compatible operating system, provided the operating system is installed in a way compatible with the Apple Boot Manager. For some operating systems, this may require you to modify some boot files' location and name after installation. On the other hand, rEFInd can often be used to avoid these types of modifications.

While GPT disks can have more than 4 partitions, the legacy mode BIOS booting of Windows allows only 4 partitions to be visible to Windows. Although, making more than 4 partitions visible to Windows is theoretically possible, I do not know of anyone every trying to do so. Also, there is no requirement that the first 4 GPT partitions be the ones visible to Windows.

I can provide the current disk configuration from a 2007 iMac as an example of a Mac computer with more than two operating systems installed. Below is the output from diskutil list.

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:       Microsoft Basic Data Shark                   202.0 GB   disk0s2
   3:       Microsoft Basic Data Shark2                  202.0 GB   disk0s3
   4:       Microsoft Basic Data SHARK3                  50.0 GB    disk0s4
   5:                  Apple_HFS Steelhead               245.1 GB   disk0s5
   6:                 Apple_Boot Recovery HD             650.0 MB   disk0s6
   7:                  Apple_HFS Ubuntu                  199.2 MB   disk0s7
   8:                 Linux Swap                         4.3 GB     disk0s8
   9:           Linux Filesystem                         93.9 GB    disk0s9
  10:                  Apple_HFS Steelhead2              198.9 GB   disk0s10
  11:                 Apple_Boot Recovery HD             650.0 MB   disk0s11
  12:                        EFI REFIND                  134.2 MB   disk0s12

This Mac has the following bootable partitions which can be selected from the Startup Manager.

  • Shark which has a BIOS bootable version of 64 bit Windows 10 installed. Windows is aware of the EFI partition by can not access the partition. Windows does have access to the Shark (NTFS), Shark2 (NTFS) and SHARK3 (FAT32) partitions. Note: Occasionally, I have had a dual legacy BIOS boot of Windows using both Stark and Shark2, but currently this is not the case.
  • Steelhead which has Yosemite installed.
  • Recovery HD (immediately after Steelhead) which is the Yosemite recovery partition.
  • Ubuntu which has rEFInd installed. The boot manager rEFInd is configured to silently boot the Ubuntu operation system. This is an older version of Ubuntu which requires either a modification of the installation or the use of rEFInd in order to boot on Mac computers. I believe the current version of Ubuntu no longer requires any modifications or the use of rEFInd.
  • Steelhead2 which has El Capitan installed.
  • Recovery HD (immediately after Steelhead2) which is the El Capitan recovery partition.
  • REFIND which has rEFInd installed. This version of rEFInd is configure to allow the selection of the same boot options as the Startup Manager (which the exception of itself).