Contribute
Register

macOS + Win dual boot (at same disk) with OpenCore

Status
Not open for further replies.
Joined
May 6, 2012
Messages
68
Motherboard
H310M-S2P
CPU
i3-8100
Graphics
RX 580 + UHD 630
This is not intend to be a guide at all, but instead, is just what I did to get dual boot with OpenCore. Pls, feel free to advise if there's any wrong, I'll be much thankful.


-- PREREQUISITES --

(1) HD/SSD free to formatting

(2) Windows UEFI installer

(3) Working NVRAM (native or emulated) and also available to be cleaned

(4) Firmware UUID:
  • Original hardware UUID. Necessary to avoid Windows activation problems
  • To get this, type: wmic CsProduct Get UUID at Windows Command Prompt
  • The result will look like 00000000-1111-2222-3333-444444444444
NOTE: Starting with opencore 0.5.8, firmware UUID is optional once Custom SMBios mode was updated

(5) OpenCore's config.plist edits:
  • At Kernel/Quirks set CustomSMBIOSGuid=YES
  • At Misc/BlessOverride add following String: \EFI\Microsoft\Boot\bootmgfw.efi
    • OC 0.5.9 can auto detect windows bootloader
  • At Misc/Boot, set HideSelf=NO andPollAppleHotKeys=YES
    • HideSelf was deprecated in OC 0.5.9
  • At Misc/Security, set AllowNvramReset=YES. This allow's OC to reset NVRAM
  • At Misc/Security, set BootProtect to None
    • I'm testing Bootstrap option
    • Bootstrap is recommended to multi booting but I think that's not mandatory, the question is that if Windows installer replace default OC's BOOTx64.efi (from ur EFI disk folder) you'll not be able to boot macos unless restore this file (Step 5, from Instalation bellow)
  • At Misc/Security, set AllowSetDefault=YES. This allow's OC set default boot option
  • At PlatformInfo/Generic, replace SystemUUID from SMBIOS with Firmware UUID
    • At PlatformInfo set UpdateSMBIOSMode to Custom. This block injection from macOS SMBios table into Windows and leaves default windows's system definition (no more acidanthera specs)
  • At UEFI/Drivers, add entry OpenUsbKbDxe.efi and add related file (found in OC's release) in folder EFI/OC/Drivers
  • At UEFI/Quirks, set RequestBootVarRouting=YES

(6) OPTIONAL: BootCamp software for Windows
  • See Additional Boot Camp Notes, please
  • At macOS, insert a flash drive
    ** THIS UNIT WILL BE FORMATTED AND ALL DATA WILL BE LOST **
  • Open Disk Utility
  • From the menu bar, select View/Show All Devices
  • Select flash drive and format it as MS-DOS (FAT32), with Main Boot Record (MBR) scheme
  • After that, run Boot Camp Assistant (in Applications)
  • From the menu bar, select Action/Download Support Software for Windows, select flash drive as destination and wait for the entire process finish (it may take a while)
  • TIP: I have a single 32GB usb with OpenCore, Windows installer, macOS installer and also Boot Camp software, so I can choose what start when I need. That save time when I'm looking pendrivers during installation process!


-- INSTALATION --

(1) Through OpenCore USB stick, boot into macOS installer.
  • This is first time I've clean nvram
(2) Format entire disk as HFS+ with GUID scheme (REMEMBER: ALL DATA WILL BE LOST)
  • Add two partitions, one for each system
  • Format macOS's volume as APFS
  • OPTIONAL: Format Windows's volume as ExFAT
(3) Start macOS installation
  • At the end of 2nd stage, we can go to Windows
(4) Through Windows usb, boot installer
  • Remove ExFat volume to create Windows's default partition
  • An aditional partition, only 16MB – MSR (Reserved) – will be created automatically
  • Start Windows installation
(5) Once Windows's full installation is finished, is time to back to macOS using OC usb
  • Finish macOS installation
  • Mount EFI partition
  • Delete "Boot" folder and rename "Microsoft" folder (eg: Microsoft-bak)
  • Add OpenCore folders: BOOT + OC
(6) Restart system and remove all/any pendrive
  • Press BIOS boot key (F12 on Gigabyte) to check available boot options
  • Probably there's two options: Windows Boot Manager and UEFI OS (HD). The first one boot, of course, only Windows and the second one boot OpenCore
  • At this point I've cleaned NVRAM once more, first to remove "ghost" Windows Boot Manager option and second to make UEFI OS (HD) the default boot option
(7) Back into macOS (now through DISK)
  • Restore renamed Microsoft's folder from EFI disk partition
(8) Restart system and let it boot automatically into OpenCore GUI
  • At this point, Windows's partition is available to boot
(9) Start Windows through OpenCore
  • Connect flash drive with Boot Camp installer
  • From WindowsSupport\BootCamp, run Setup.exe
  • Authorize instalation, click "Next", accept license terms and then click "Install"
  • After succesfull instalation, system will restart automatically and when back to Windows, Boot Camp icon will be at Task Bar (next to clock)
(10) How Boot Camp works?
  • It allows quick switching between macOS and Windows.
  • When a system is chosen to boot from Boot Camp, that information is saved to NVRAM and this becomes the default boot option. Eg .: If, at Windows, I select "Restart on macOS…", every time I turn on PC, or macOS will already be selected at OC GUI, or will start automatically and same happens when Windows is selected at macOS's Preferences/Startup Disk.
  • To make Boot Camp more dynamic, additional configuration in cofig.plist is required: or Misc/Boot/Timeout=5 or Misc/Boot/HidePicker=YES. In the first one a countdown will start and in the second one, OC GUI will not appear and selected system will start automatically. But still possible to choose manually a different system to boot, just hold down "Alt" key (or Windows key) until OpenCore GUI appears, hit Enter to boot only this time into desired system or CTRL+Enter to save this option as defult partition.
(11) Additional Boot Camp Notes
  • The only big advantage of Boot Camp software is the quick switching between systems, much like switching users. What means that, even w/o Boot Camp, still possible to choose which system to start from OpenCore GUI
  • Boot camp also install some drivers from Apple's hardware, like keyboard etc
  • HFS+ or APFS disks probably will not be accessible in Windows until a third party program is used
  • There's, at least, two cases in that Boot Camp fails to install: (1) If Windows is booted without OpenCore and (2) if Boot Camp's installer folder was renamed.
(12) Credits: All credits goes to OpenCore developers, big thanks to all!
 
Last edited:
What if you already have a mature Windows install? I have to start over?

Thanks
 
There is a point what i don't understand. Please kindly help.
-- PREREQUISITES --
(3) Working NVRAM (native or emulated) and also available to be cleaned <-- How do i have NVRAM (native or emulated) while i have a clean hard disk and have no any OS inside?

4) Firmware UUID:
– Original hardware UUID. Necessary to avoid Windows activation problems
– To get this, type: wmic CsProduct Get UUID at Windows Command Prompt
– The result will look like 00000000-1111-2222-3333-444444444444 <-- how do i deploy the command?
 
There is a point what i don't understand. Please kindly help.
-- PREREQUISITES --
(3) Working NVRAM (native or emulated) and also available to be cleaned <-- How do i have NVRAM (native or emulated) while i have a clean hard disk and have no any OS inside?

4) Firmware UUID:
– Original hardware UUID. Necessary to avoid Windows activation problems
– To get this, type: wmic CsProduct Get UUID at Windows Command Prompt
– The result will look like 00000000-1111-2222-3333-444444444444 <-- how do i deploy the command?

Having working nvram has nothing to do with your hard disk. Most bios’s have the ability to remember data or set variables in their memory between reboots. There’s a way to check. You simply write something to nvram and reboot and check to see if your data persisted. If it does your good otherwise you would need a special efi drive. The details on how you check and alternative memory driver I can’t remember (think it’s amiaptiofix ??). Someone should clarify or if not spend time google searching.

About the UUID you need to run the command I think in a Windows Powershell or possibly just in a command window. Google search it.

Good luck
 
This is not intend to be a guide at all, but instead, is just what I did to get dual boot with OpenCore. Pls, feel free to advise if there's any wrong, I'll be much thankful.


-- PREREQUISITES --

(1) HD/SSD free to formatting

(2) Windows UEFI installer

(3) Working NVRAM (native or emulated) and also available to be cleaned

(4) Firmware UUID:
– Original hardware UUID. Necessary to avoid Windows activation problems
– To get this, type: wmic CsProduct Get UUID at Windows Command Prompt
– The result will look like 00000000-1111-2222-3333-444444444444

(5) OpenCore's config.plist edits:
– At Misc/BlessOverride add following String: \EFI\Microsoft\Boot\bootmgfw.efi
– At Misc/Boot, set HideSelf=NO and PollAppleHotKeys=YES
– At Misc/Security, set AllowNvramReset=YES. This allow's OC to reset NVRAM
– At Misc/Security, set AllowSetDefault=YES. This allow's OC set default boot option
– At PlatformInfo/Generic, replace SystemUUID from SMBIOS with Firmware UUID
– At UEFI/Drivers, add entry OpenUsbKbDxe.efi and add related file (found in OC's release) in folder EFI/OC/Drivers

(6) BootCamp software for Windows:
– See Additional Boot Camp Notes, please
– At macOS, insert a flash drive
** THIS UNIT WILL BE FORMATTED AND ALL DATA WILL BE LOST **
– Open Disk Utility
– From the menu bar, select View/Show All Devices
– Select flash drive and format it as MS-DOS (FAT32), with Main Boot Record (MBR) scheme
– After that, run Boot Camp Assistant (in Applications)
– From the menu bar, select Action/Download Support Software for Windows, select flash drive as destination and wait for the entire process finish (it may take a while)
– TIP: I have a single 16GB usb with OpenCore, Windows installer and also Boot Camp software, so I can choose what start when I need. That save time when I'm looking pendrivers during installation process!


-- INSTALATION --

(1) Through OpenCore USB stick, boot into macOS installer.
– This is first time I've clean nvram

(2) Format entire disk as HFS+ with GUID scheme (REMEMBER: ALL DATA WILL BE LOST)
– Add two partitions, one for each system
– Format macOS's volume as APFS
– OPTIONAL: Format Windows's volume as ExFAT

(3) Start macOS installation
– At the end of 2nd stage, we can go to Windows

(4) Through Windows usb, boot installer
– Remove ExFat volume to create Windows's default partition
– An aditional partition, only 16MB – MSR (Reserved) – will be created automatically
– Start Windows installation

(5) Once Windows's full installation is finished, is time to back to macOS using OC usb
– Finish macOS installation
– Mount EFI partition
– Delete "Boot" folder and rename "Microsoft" folder (eg: Microsoft-bak)
– Add OpenCore folders: BOOT + OC

(6) Restart system and remove all/any pendrive
– Press BIOS boot key (F12 on Gigabyte) to check available boot options
– Probably there's two options: Windows Boot Manager and UEFI OS (HD). The first one boot, of course, only Windows and the second one boot OpenCore
– At this point I've cleaned NVRAM once more, first to remove "ghost" Windows Boot Manager option and second to make UEFI OS (HD) the default boot option

(7) Back into macOS (now through DISK)
– Restore renamed Microsoft's folder from EFI disk partition

(8) Restart system and let it boot automatically into OpenCore GUI
– At this point, Windows's partition is available to boot

(9) Start Windows through OpenCore
– Connect flash drive with Boot Camp installer
– From WindowsSupport\BootCamp, run Setup.exe
– Authorize instalation, click "Next", accept license terms and then click "Install"
– After succesfull instalation, system will restart automatically and when back to Windows, Boot Camp icon will be at Task Bar (next to clock)

(10) How Boot Camp works?
– It allows quick switching between macOS and Windows.
– When a system is chosen to boot from Boot Camp, that information is saved to NVRAM and this becomes the default boot option. Eg .: If, at Windows, I select "Restart on macOS…", every time I turn on PC, or macOS will already be selected at OC GUI, or will start automatically and same happens when Windows is selected at macOS's Preferences/Startup Disk.
– To make Boot Camp more dynamic, additional configuration in cofig.plist is required: or Misc/Boot/Timeout=5 or Misc/Boot/HidePicker=YES. In the first one a countdown will start and in the second one, OC GUI will not appear and selected system will start automatically. But still possible to choose manually a different system to boot, just hold down "Alt" key (or Windows key) until OpenCore GUI appears, hit Enter to boot only this time into desired system or CTRL+Enter to save this option as defult partition.

(11) Additional Boot Camp Notes
– The only big advantage of Boot Camp is the quick switching between systems, much like switching users. What means that, even w/o Boot Camp, still possible to choose which system to start from OpenCore GUI
– HFS+ or APFS disks probably will not be accessible in Windows until a third party program is used
– There's, at least, two cases in that Boot Camp fails to install: (1) If Windows is booted without OpenCore and (2) if Boot Camp's installer folder was renamed.

(12) Credits: All credits goes to OpenCore developers, big thanks to all!

Excuse me sir, but how do i get my UUID if i have a clean machine with no OS installed at all. Should I install windows just to fetch UUID?
 
Excuse me sir, but how do i get my UUID if i have a clean machine with no OS installed at all. Should I install windows just to fetch UUID?


How about using Terminal ?

Depends what you need one for. Usually for macOS you get yourself a new one. Try the command “uuidgen” see if that gives you what you need?

You can even do this from the Terminal app included on the UniBeast installer USB when you first boot into it, before you proceed with the installation. See the Tools menu.

:)
 
how do i get my UUID if i have a clean machine with no OS installed at all

UUID that was mentioned is from hardware's, this is used to activate windows, so is only required if ur windows is already activated

but I updated topic once starting with opencore 0.5.8+ this is no more mandatory
 
So I'm assuming there is no way to get dual boot working from the same disk if you have a preinstalled Windows Partition while using Clover. I just made the switch to OC 5.9, although not having a simplified way to Dual boot with an existing Windows partition is upsetting. I really don't want to use a USB to boot windows. Any help would be appreciated if there is a simple way.
 
Status
Not open for further replies.
Back
Top