Here's a quick write-up of the process I took to get OpenCore (OC) booting macOS and Windows in UEFI mode on the MacPro5,1.
I don't recommend doing this right now. There's something flakey in either OC, my configuration of OC, or Windows itself which will eventually result in your Windows installation failing to boot.
The danger we're trying to avoid here is Windows ever booting autonomously in UEFI mode, outside of the control of OC. If this happens,
your BootROM is likely to be immediately damaged by secure boot certificates being written which it wasn't designed to handle. We're getting around this by replacing part of the Windows bootloader with OpenCore.
So, if you like the idea of bricking your Mac Pro and having a copy of Windows that doesn't always work, crack on! I make no promises that this is the best method or a good fit for your needs.
Requirements
- Working macOS Mojave 10.14.6 on its own internal SATA drive installed in Bay 1.
- Separate internal SATA drive for Windows. Mine was in Bay 4.
- Have no other drives attached.
- ROMTool from @dosdude1 (password 'rom').
- Attached OpenCore EFI.
- Windows 10 installer on a USB stick.
- Time to burn and willingness to suffer.
Procedure
- Power on and clear your NVRAM by holding down CMD-ALT-P-R over the chime.
- Disable SIP by booting into Mojave Recovery (CMD-R) and using the Terminal to issue
csrutil disable
- Allow Mojave to boot and use ROMTool to take a backup of your BootROM. Keep it safe.
- Load the resulting
.bin
file into TextEdit. Search contents for the word 'Secure'.
- If you have any matching results STOP. Your BootROM already has problems, it doesn't need more.
- Format the drive intended for Windows to Mac OS Extended (Journaled) with GUID Partition Map.
- Note the Device number for that Windows drive in Disk Utility. We'll use disk2 in this example.
View attachment 895214
- Fire up Terminal and issue:
sudo diskutil mount /dev/disk2s1
- Browse to the drive named EFI which has appeared in Finder. It should be empty. If it's not, delete the contents. Decompress the attached OpenCore EFI directory and copy the EFI directory to the root of the EFI drive.
- Go back to Terminal and issue:
sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/BOOT/BOOTx64.efi --verbose
- Stick the Windows installer USB into a socket and power off.
- Pull the Mojave drive from Bay 1 and power up.
- You should see the OpenCore Boot Menu. Pick your Windows installer.
- When asked about the drive to install to, delete all the partitions and let Windows do its thing.
- At around 29% the Windows installer will reboot your machine. Power it off when you hear the chime.
- Insert your Mojave drive to Bay 1.
- Boot to Mojave Recovery (CMD-R) and use Startup Disk from the Apple menu to choose macOS Mojave. Reboot into Mojave.
- Check the Device number for your Windows drive in Disk Utility again. I'll assume it's still disk2 here, but it may not be.
- Fire up Terminal and issue:
sudo diskutil mount /dev/disk2s2
- Browse to the drive named EFI which has appeared in Finder. It should contain an EFI directory, in which there should be Boot and Microsoft directories.
- Delete the Boot directory.
- Copy the BOOT and OC directories from the OpenCore EFI directory you decompressed from the attached
.zip
file earlier.
- Power off your machine and pull the Mojave drive from Bay 1.
- Power on your machine and clear your NVRAM by holding down CMD-ALT-P-R over the chime.
- You should see the OpenCore Boot Menu with an entry for 'Windows' (not external). Set it as the default by choosing it and pressing CTRL-ENTER.
- Allow the rest of the installation to proceed as normal. All reboots should show the OpenCore Boot Menu before booting into Windows. If it doesn't appear, panic and power off your machine.
- You should now have a working copy of Windows in UEFI mode protected by OpenCore.
- Install all drivers you need under Windows, probably using Brigadier to fetch the MacPro5,1 and iMacPro1,1 bundles.
- Power off and insert your Mojave drive into Bay 1.
- Power on. You should see Windows and Mojave appear as boot options on the OpenCore Boot Menu.
- Boot to Mojave and use ROMTool to take another backup of your BootROM.
- Load the resulting
.bin
file into TextEdit. Search contents for the word 'Secure' again. Fingers crossed you shouldn't find anything.
The final step is to swear profusely when, for no apparent reason, the boot spinner won't appear when firing up Windows - most likely after Windows has applied a mandatory patch in the background which you weren't expecting.
Hopefully that's enough to keep your expectations low. If you have greater success with alternative methods or config.plist files, please post.
NOTE: I modified BootEntryManagement.c in the OcSupportPkg code to read only "Windows" instead of "BOOTCAMP Windows" in the attached EFI. This may or may not be a sensible thing to do.
Hello (=I need some help please.
@roobarb! @h9826790
I am continuing following this guide, with the only differences are that I'm using the latest OC HCL package
found here instead of the one attached to the post in Feb., and my destination drive is a 500GB nVME (connected via PCIe).
--
TLDR: stuck installing windows after first reboot, can't see or launch the internal drive to continue installation.
--
- I have Vega56 installed (from MVC), and the USB stick was created in Windows 10 with their media creation tool.
I have made it so far with no corruption (checked ROM dump), however when I got to Step 19 / 20, this is where I'm at:
1- The proper EFI volume is mounted, however
instead of "EFI" now it is named "NO NAME". Considering that the importance of naming and structure is stressed in a few posts, I decided to rename it to match the guide, from "NO NAME" back to "EFI", with the "EFI" folder at its root and so on.
2- I made it finally to Step 24, however
even though it *looks* like OC boot picker loads, the screen is the normal OC grey background with no Volumes to pick from, and it stays there indefinitely (at this point according to the guide, the only Drive in the system is the Windows destination, which should show up to continue Winstallation).
Note: I also removed the Windows Installation USB before this, because I have no way to tell the difference from "Windows" and "Windows" if they were both to show up.
3- As a precaution I shut down, plugged back in Mojave HD (with OC) in Bay 1. Now OC boot picker loads again, and I see MacHD, Recovery, & Windows volumes.
4- Out of curiosity I
tried Windows volume, but it just brought me back instantly to OC boot picker, and the Volume stayed but the name "Windows" went away. Weird. I assumed this was no good news, so I went back to Mojave and wiped the Windows drive for safety, and checked ROM and I am still safe with no problems, and no matches for "Secure" in the bin.
So now that I've outlined this situation, I'm wondering if anyone has any insight, since I'm sure there's been developments since February, but I'm having trouble finding updates pertaining to this particular method, and the things I've run into.
Thank you in advance! Excited to get this going.
--
Troubleshooting updates:
- I also tried running this without renaming the EFI volume that comes up as "NO NAME". Same result.
- A second attempt with the "EFI" rename still only shows the USB installer and not the started up winstallation. It only shows up if I plug in the Mojave HD in bay 1, and even then the best I've gotten is the grey background with no loading anything.
- I also tried blessing the windows EFI that is recreated at the end of the guide, just in case. No better result.
- Also tried with Paragon ntfs for mac installed (to ensure my installer wasnt trying to mbr when deleting all partitions)