Jump to content

[GUIDE] Dual-Boot for Windows 10/11 and macOS on the same disk (Windows installed first, macOS installed first, empty drive)


kushwavez
 Share

32 posts in this topic

Recommended Posts

All-in-One Dual-Boot Guide for all scenarios

(from Sierra 10.12 up to Monterey 12)

(should work with Windows 8 and earlier versions of macOS but they're untested)

 

When you have Windows installed first and don't want to lose all your data

When you have macOS installed and want to install Windows on a new partition

When you have an empty disk and want to install the two OS

 

  1. Install macOS when Windows 10/11 is already installed
  2. macOS installed first
  3. Installing on an empty drive

 

Important note: This will ONLY work if your system is in GPT (GUID)-UEFI mode (not MBR-Legacy)

 

What you’ll need:

  • A GPT-UEFI Windows 10 or 11 installer USB
  • A macOS USB Installer
  • Working Clover or OpenCore folder

 

As always, a backup is recommended

 

1.     Install macOS when Windows 10/11 is already installed

So the problem is that the Windows EFI is 100 MB, not 200 MB so the macOS Disk Utility will fail when creating the new APFS partition for macOS, we need to resize the EFI first

 

  • Win + R, open “diskmgmt.msc” (Create and format hard disk partitions)
  • Right click, Shrink your Windows drive to create unallocated space for macOS (do not create a new partition yet)
  • Boot from the Windows installer USB, click “Repair your computer”
  • At “Advanced options” select “Command Prompt”
  • Write the following:
diskpart
(this is the Windows partition manager)

list vol
(note down your Windows partition letter. Default is C:)

list disk
(will list your drives)

Now select your Windows drive (for example 0”)
sel disk 0

list part
(will list your partitions on the selected disk)

select your EFI (System, 100 MB, for example 1”)
sel part 1

delete partition OVERRIDE
(this will delete your EFI)

create partition efi size=200
(this will create the new EFI partition with 200 MB size)

format quick fs=fat32
assign letter=B
(assign a letter to your EFI in order to manage it)

exit
(we can exit from diskpart now)

bcdboot C:\windows /s B:
(this will re-create the EFI files for Windows)

exit
  • That’s it, restart the system and boot to Windows again
  • Open “diskmgmt.msc” again, now create a new partition for macOS from the remaining Unallocated space (name MAC, format ExFAT)
  • Now boot from the macOS Installer USB and format the MAC partition to APFS with Disk Utility
  • Install macOS on that drive
  • After installation finished boot the installed macOS with your USB
  • After arriving to desktop mount your USB’s EFI and copy the Clover or OC folder to desktop (BOOT folder isn’t needed)
  • Remove the USB and now mount your system EFI
  • Copy the Clover or OC folder to the EFI folder
    • Note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Restart the system, you’ll see that Windows will automatically boot, so we need to make Clover or OC to default bootloader
  • Open cmd in admin mode and type:
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will modify the "Windows Boot Manager" UEFI boot entry to not load the "bootmgfw.efi" which loads Windows default, but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" (so Windows) instead

 

  • That’s it! After restart our bootloader will start and we can select Windows or macOS.

 

 

2.     macOS installed first

  • Open “Disk Utility”, click “View” -> “Show All Devices”
  • Click on your drive’s name, “Partition”, add a new partition for your Windows by resizing (MS-DOS, name WIN)
  • Ensure you have working OC or Clover in your EFI
    • Note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Boot from the Windows installer USB
  • Inside Win installer, format the “WIN” partition created in macOS Disk Utility
  • Install Windows on that partition
  • At Windows desktop open “cmd” in administrator mode and type
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will modify the "Windows Boot Manager" UEFI boot entry to not load the "bootmgfw.efi" which loads Windows default, but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" (so Windows) instead

 

  • That’s it! After restart your bootloader will start and you can select Windows or macOS

 

3.     Installing on an empty drive

  • Boot the macOS Installer
  • In Disk Utility, click “View” -> “Show All Devices”
  • Click on your drive’s name, “Delete”, Create a new APFS drive for macOS
  • Click on “Partitition”, add a new drive for Windows (MS-DOS FAT, name WIN)
  • Install macOS on the APFS drive
  • After installation is completed, mount system EFI and copy Clover or OC folder to the EFI folder (just the OC or CLOVER, “Boot” isn’t needed, if there is no EFI folder in the EFI partition, create one)
    • note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Remove the macOS installer and boot from Windows installer USB
  • Inside Win installer, format the “WIN” partition created in macOS Disk Utility
  • Install Windows on that partition
  • At Windows desktop open “cmd” in administrator mode and type
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will modify the "Windows Boot Manager" UEFI boot entry to not load the "bootmgfw.efi" which loads Windows default, but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" (so Windows) instead

  • That’s it! After restart your bootloader will start and you can select Windows or macOS

 

 

 

Notes:

  • After NVRAM reset Windows will automatically boot (because of the Boot/bootx64.efi). Simply restart the system to get back to your bootloader
  • If you're getting errors when formatting in Windows installer:
    • Some errors just because of the 200 MB "non-Windows" EFI, try to ignore them and start the installing. If it'll start, then no problem, no need for any other actions
      • If not working, then try the followings:
        • Unplug all external drives (except the installer)
        • Delete the WIN partition and re-create that from the unallocated space (if you have CLOVER or OC inside the EFI, make a backup first, it's possible that Windows will re-create the EFI and delete them)
  • If you want triple-boot with Linux, create a new partition by resizing the Mac or Win partition, make sure the Linux won't re-format the EFI, in BIOS boot order let "Windows Boot Manager" be the first, then you can select Linux, Win, Mac from Clover. (OC untested) Tested with Fedora 30
  • BitLocker isn't tested. I suggest you to disable it for the time of doing the setups
  • If you mess up the "bcdedit /set ..." line, don't worry, it'll boot Windows automatically even if you messed that up. This is why we need to leave the original "Boot" folder alone in the EFI
Edited by kushwavez
Tested Win 11 too
  • Like 5
Link to comment
Share on other sites

  • 1 year later...

Greetings,

 

On my laptop I am using CSM UEFI Mode because it is needed or else the screen on boot is unreadable.  

when creating an installer using Rufus 3.17,  there isn't a GPT/ CSM UEFI mode. Rather a GPT/Non-CSM Mode.  The other choice being MBR which does default to the BIOS ( Or CSM UEFI MODE). I haven't used this yet as, this may not work.

 

Previously when I created an installer with Rufus, I chose GPT mode with non CSM. 

 

How to do an installer with GPT/ CSM UEFI Mode? any thoughts?

 

I am running both Clover and OpenCore, w boot loader chooser and found that I have had many issues trying to get Windows to install without problems in the bootloader.  Had to install outside of the boot loaders and with unsuccessful attempts to boot Windows from within the boot loaders. I've read and searched the Net and found pretty several ways to install, even made installer in Mac two different ways.  The problem being Fat32 having 4GB limit.

I where the install.wim is now larger the 4GB.  

My last attempt at installing through the bootloader left in a non-bootable state and had to use USB backup then had to reinstall OS's due to the EFI on the disk being hosed.  Could not boot from the EFI on the disk even after installing a new EFI from scratch.  

 

First problem my copy of Windows ISO doesn't allow to choose which version of Windows 10 and defaults to Home, when I would like Pro.

Thus had to use the other method to install found on the YouTube instead of installing from within Clover and when trying to install within OpenCore

unable to boot into MacOS's and Windows Installer. Hoses up. Botch.

 

I would like to install from within the bootloader and have it boot from the bootloader. Clover, OpenCore.

 

 

 

Link to comment
Share on other sites

what if you install in UEFI with an external monitor, then install drivers for Intel. Maybe that'll solve the scrambled screen. 

Or with Clover you can install both Windows and Clover in MBR mode, but I don't know what about OpenCore.

Link to comment
Share on other sites

2 hours ago, kushwavez said:

what if you install in UEFI with an external monitor, then install drivers for Intel. Maybe that'll solve the scrambled screen. 

Or with Clover you can install both Windows and Clover in MBR mode, but I don't know what about OpenCore.

 

No, my boot up doesn't matter internal or external, CSM Hybrid mode is necessary.

Windows is installed just have to use BIOS Select Boot type to boot to the Windows partition.

OpenCore booted the first time right through then after that cannot boot from inside OpenCore.

Clover no problem.  OpenCore big problem.

 

I have to install Windows using the manual method.

For some reason it will not boot after install through the Opencore.

 

I've tried 5 methods and each one fails.

So i'm doing something not quite correct.

 

Normally after install should boot.

 

I see that you wrote for Windows first install to delete the microsoft EFI.

 

Install Windows then install Clover or Opencore, then install MacOS.

 

I read where to dual boot, install OpenCore in it's own partition then install the OS's.

 

Probably good to install Windows first, then MacOS?

 

 

 

Edited by makk
Link to comment
Share on other sites

So just to sum up:

You only can use Legacy Windows. For that you created an MBR Win installer and installed Windows with that, right? 

Next, it can be booted with Clover but not with OpenCore. 

 

If that's right then unfortunately this guide is not for you as this is only for UEFI. MBR Windows (or any MBR based OS) is not using an EFI partition, therefore, the thing I wrote here that you have to delete/re-create EFI is not valid for you and will not work for you. 

 

As far as I see it is an OpenCore thing and maybe something that has to be modified on config.plist in order to do that. Unfortunately I am not really familiar with this.

 

The MBR boot procedure is different than UEFI boot. UEFI/GPT searching for .efi files within a FAT32 formatted EFI partition. However, MBR (or Legacy BIOS) is searching the sector 0 of the drive.

 

There is "Hybrid" MBR (or Hybrid GPT) WIndows however that could workaround this but I don't know that much about that. 

 

Maybe you could just disable UEFI altogether and use both bootloaders and OSs in MBR/Legacy BIOS mode. 

 

Link to comment
Share on other sites

1 hour ago, kushwavez said:

So just to sum up:

You only can use Legacy Windows. For that you created an MBR Win installer and installed Windows with that, right? 

Next, it can be booted with Clover but not with OpenCore. 

 

If that's right then unfortunately this guide is not for you as this is only for UEFI. MBR Windows (or any MBR based OS) is not using an EFI partition, therefore, the thing I wrote here that you have to delete/re-create EFI is not valid for you and will not work for you. 

 

As far as I see it is an OpenCore thing and maybe something that has to be modified on config.plist in order to do that. Unfortunately I am not really familiar with this.

 

The MBR boot procedure is different than UEFI boot. UEFI/GPT searching for .efi files within a FAT32 formatted EFI partition. However, MBR (or Legacy BIOS) is searching the sector 0 of the drive.

 

There is "Hybrid" MBR (or Hybrid GPT) WIndows however that could workaround this but I don't know that much about that. 

 

Maybe you could just disable UEFI altogether and use both bootloaders and OSs in MBR/Legacy BIOS mode. 

 

 

@kushwavezApology let me reiterate, i used both, GPT&MBR, with NTFS  FAT32 FAT16 formats -- last install was with GPT NTFS with UEFI_NTFS FAT32 > EFI similar to MacOS GPT format splits into two partitions, EFI and your data.

 

thanks again!

 

I think  I may have used 'bcdboot' one too many times. 

I tried several methods which seems to have confused the bootloaders,  created a no boot situation

for all OS'. So I reinstalled the OS's a few times to find the correct method on this system.

 

for Boot:  It is possible that OC boot section gets rewritten the pointer map is mismatched.

 

in the BIOS:

I have to use CSM hybrid mode to ensure the boot up screen is legible.  [  -v option on OC and Clover  ] 

I had to disable fastboot as well. 

I think this should be used in trouble shoot mode instead of Live Windows mode.

 

 

 

 

 

 

Screen Shot 2022-03-10 at 4.24.37 PM.png

 

 

 

 

Screen Shot 2022-03-10 at 4.26.54 PM.png

Screen Shot 2022-03-10 at 4.25.24 PM.png

Screen Shot 2022-03-10 at 4.25.39 PM.png

Screen Shot 2022-03-10 at 4.25.54 PM.png

Edited by makk
Link to comment
Share on other sites

@kushwavez

 

For the Windows First on disk

 

method you recreated a new efi size 200

and then assigned it a letter B.

 

Does it matter what letter to use here?

 

I had to manually install Windows through diskpart and dism.

 

for the creation of EFI Partition

create partition efi size=200

format quick fs=fat32 label="System"

assign letter="S"

 

for the creation of msr

create partition msr size=16

 

for the creation of primary (windows)

create partition primary

format quick fs=ntfs label="Windows"

 

exit diskpart

 

dism /Get-WimInfo /WimFile:D:\sources\install.wim <> to screen the catalog of Windows versions to select from older ones have install.esd

dism /Apply-Image /ImageFile:D:\sources\install.wim /Index:6 /ApplyDir:W:\

after it applies the data

 

bcdboot W:\Windows /s S: /f UEFI

 

reboot

 

After reboot into OpenCore since I did not boot up through OpenCore have to select BIOS Boot Menu to boot into Windows

and I just found I made a mistake here by writing this out. LOL!!

 

In OpenShell I see my Windows EFI and Windows partitions.  FS9 and FS10, 

the pointer did not finish and configure both to work in sync, thus these do not marry up.

 

I did the manual method outside of OpenCore.  LOL

 

 

 

 

Link to comment
Share on other sites

19 hours ago, STLVNUB said:

A lot of buggerising around, try this

 

 

Thank you for this working copy.

However it still doesn't bootup on my system.

Even when selecting the BIOS F9 Boot Menu.

Weird.

 

However I am only able to select BIOS F9 Boot Select to boot into Windows Partition. This way works.

Just not through OpenCore.  I've done the Bless Override, Entry and still no boot. Frak!

 

Link to comment
Share on other sites

7 hours ago, makk said:

However I am only able to select BIOS F9 Boot Select to boot into Windows Partition. This way works.

Just not through OpenCore.  I've done the Bless Override, Entry and still no boot. Frak!

 

Check your open core config, check scan policy in misc, security and make sure NTFS is set

Probably need to do other things as I've seen booting Windows via OC is a {censored}

Edited by STLVNUB
Link to comment
Share on other sites

1 hour ago, STLVNUB said:

Check your open core config, check scan policy in misc, security and make sure NTFS is set

Probably need to do other things as I've seen booting Windows via OC is a {censored}

@STLVNUB 

 

I read here, lately that OpenCore suggests to when dual booting, create a 200MB Fat32 partition for it. Remove from EFI partition and place in new OPENCORE partition.   I tried this once it works. But I had a problem when switched to Clover and then back again to OC where I could not boot any OS's at all.

The boot section got hosed. LOL;) 

 

Then I placed Clover back and same thing no boot. Wiped the drive and started fresh.  Happened twice. LOL!

Whatever the old guides state, back for OC 7.2  and below don't work on the new ones with Monterey for my hardware setup.

I've tried everything so far written by experienced folks that are dual booting. Doesn't work on my hardware. Not sure why so far.

I have a separate Windows Laptop that runs Windows 10 Pro.  I tired 11, don't like the interface and it's a hog on RAM, made for more Cores > CPU. The Surface Pro really looks nice running Windows 11 TV.

My hardware is old and needs 100 Core CPU! ;) and tons of RAM....  just kidding.

 

So I am happy with BIOS method F9 to get to Windows.  I installed Windows to get the PCI info and for the new SSD Drive to find if it has similar to my Samsung SSD the Magician software to boost the drive.  Plus cloning software.  I found cloning software but no boost software. So am going to purchase NVMe SSD Drive.  Then I can use Magician software to boost. 

 

 I found this nice theme for OpenCore made by BlackOsX that is peachy. (RedOldApple)  I looked for it for Clover but no dice.

One other thing I wish Slice would implement for Clover is the Kext feature which OpenCore has.  That is using MinKernel and MaxKernel.

In the case where such as this one, where Airporitlwm.kext made for Intel Wireless Bluetooth, rather strange to me but I found a workaround.

In the kernel>add,  I placed two kexts, one specifically for Big Sur, Airportitlwm.kext, and the other same kext name but made for Monterey Airportitlwm.kext.  Changed the name for Monterey one to Airportitlwmm.kext and set the version to MinKernel for 21. Set the name in the Folder so both kexts can coexist. 

 

Like this:

Airportitlwm.kext > Big Sur uname to 20.6

Airportitlwmm.kext > Monterey name to 21

It works perfectly because OC checks name and version. A nifty thing to have which I discovered by chance.

 

OpenIntelWireless as you might know?? has a specific one for each OS. Not sharing the same one. Rather strange.

So they made an Airportitlwm.kext for Big Sur, one for Monterey, one for Catalina, one for Mojave.  and for older OS's.

itlwm.kext is ethernet based and doesn't work on Big Sur and Monterey for AirPlay, Screen Mirroring but works on the older ones with FeatureUnlock.kext.

 

So these two issues presents me from going full bore on Clover. Which has not the Theme made for it and the Kext with MinKernel and MaxKernel.

1 Theme

2 MinKernel & MaxKernel in the Dictionary for each kext.

 

Maybe to keep things Slice thinking and Cloverish, to have MatchOS statement for kexts to load in special cases.

Forcekextload doesn't have this ability. MatchOS as far as I know.

 

Also, I believe that as long as Windows is occupying the first partition there, it will work is the conclusion but untested on my hardware.

I used Total Commander for my friend who had English Language Windows and her language to boot. Windows likes to have it's own partition and with no others.  Even with its predecessors.  Kind of bugs one out.  But that's the way they do things.

So unless OC can duplicate Total Commander style swapping, then Clover works best in this situation when Windows is not on the first partition.

 

On my hardware, which is HP came stock with Windows 10 Pro, still doesn't boot from within OC. Nor did your magic USB work on this hardware.

I formatted to Fat32 GPT with EFI available and it did not boot even from F9.  Which is strange. 

 

So it maybe as you state above for OC and windows.

 

That is nice though windows live USB! Thanks!

 

 

 

 

Link to comment
Share on other sites

I basically do same thing with clover and  Airportitlwm.kext 

Place Catalina into kexts/15

Big Sur into kexts/11

Monterey into kexts/12

Works quite well

 

I will try the usb windows as it sounds a good idea, thanks for the info.

Will Still Use Clover As The Bootloader Though

Don't need boot loader though

Edited by STLVNUB
Link to comment
Share on other sites

1 hour ago, STLVNUB said:

I basically do same thing with clover and  Airportitlwm.kext 

Place Catalina into kexts/15

Big Sur into kexts/11

Monterey into kexts/12

Works quite well

 

I will try the usb windows as it sounds a good idea, thanks for the info.

Will Still Use Clover As The Bootloader Though

Don't need boot loader though

 

@STLVNUB

 

how do you that in Clover?

 Kexts placing?

can you teach me?

 

Thank you

Link to comment
Share on other sites

2 hours ago, makk said:

 

@STLVNUB

 

how do you that in Clover?

 Kexts placing?

can you teach me?

 

Thank you

I Already said how to do it.

Place Catalina into kexts/15

Big Sur into kexts/11

Monterey into kexts/12

Its the wifi driver for each OS

Link to comment
Share on other sites

14 minutes ago, STLVNUB said:

I Already said how to do it.

Place Catalina into kexts/15

Big Sur into kexts/11

Monterey into kexts/12

Its the wifi driver for each OS

I'm not understanding your lingo

 

kexts/15, kexts/11, kexts/12 < what are you implying here?  

 

never seen that done.

 

Screenshot to see?

 

Never mind I understand.

 

I use Other only.

You're saying

for OS Big Sur 11

for OS Mont 12 folders 

Got it!! Cool beans never thought about it that way.

Next have to figure out how to make the theme conversion for Clover.

The theme is created for OC only.

Edited by makk
Link to comment
Share on other sites

Last login: Sat Mar 12 23:33:34 on ttys000

 

The default interactive shell is now zsh.

To update your account to use zsh, please run `chsh -s /bin/zsh`.

For more details, please visit https://support.apple.com/kb/HT208050.

STLVNUBs-iMac:~ stlvnub$ ls /Volumes/EFI\ 1/EFI/CLOVER/kexts

10.13 10.14 10.15 11 12 Other

STLVNUBs-iMac:~ stlvnub$

 

Screen Shot 2022-03-12 at 11.48.07 pm.png

Link to comment
Share on other sites

1 hour ago, STLVNUB said:

Maybe idea to get back onto topic otherwise we get in trouble

yes your are correct sorry apology

Im creating USB live windows to see if I can boot it with clover interface

Link to comment
Share on other sites

1 hour ago, STLVNUB said:

Last login: Sat Mar 12 23:33:34 on ttys000

 

The default interactive shell is now zsh.

To update your account to use zsh, please run `chsh -s /bin/zsh`.

For more details, please visit https://support.apple.com/kb/HT208050.

STLVNUBs-iMac:~ stlvnub$ ls /Volumes/EFI\ 1/EFI/CLOVER/kexts

10.13 10.14 10.15 11 12 Other

STLVNUBs-iMac:~ stlvnub$

 

Screen Shot 2022-03-12 at 11.48.07 pm.png

Awesome, I completely forgot about this.. I used Other and had only one OS.

I got rid of Catalina and Mojave.  Running OC with Airportitlwm.kext got to be mesmerizing for the eyes every time install something new.

The Clover way is quick and simple. No editing nice!!

Link to comment
Share on other sites

I like this Windows USB Live  thing.  Just need to boot it up now on me hardware.

Laptops are a bit tough and has lots of security.  pain 

 

This CmoS Bios on this laptop is a bit old and it has what's called Hybrid CSM Mode which is needed to have a legible readable screen on boot.

This makes is legacy mode UEFI. Which is not sure how to put it.  Not quite there and not quite not there. 

had to turn of fast boot for clover, but I think with OC and new Clover Fastboot can work.

I need a CSM.efi I think so the screen is legible when I disable Hybrid CSM Mode.

Do you know of a BIOS driver that works?

 

Link to comment
Share on other sites

7 minutes ago, makk said:

I like this Windows USB Live  thing.  Just need to boot it up now on me hardware.

Laptops are a bit tough and has lots of security.  pain 

 

This CmoS Bios on this laptop is a bit old and it has what's called Hybrid CSM Mode which is needed to have a legible readable screen on boot.

This makes is legacy mode UEFI. Which is not sure how to put it.  Not quite there and not quite not there. 

had to turn of fast boot for clover, but I think with OC and new Clover Fastboot can work.

I need a CSM.efi I think so the screen is legible when I disable Hybrid CSM Mode.

Do you know of a BIOS driver that works?

 

Try updating the bios, may fix your problems.

With fast boot on you loose your usb and others 

as it doesn't waste time initialising them.

I myself don't want that, a couple of micro seconds is worth

not enabling it.

 

As for bios driver that works, what exactly do you mean?

Link to comment
Share on other sites

18 minutes ago, STLVNUB said:

Try updating the bios, may fix your problems.

With fast boot on you loose your usb and others 

as it doesn't waste time initialising them.

I myself don't want that, a couple of micro seconds is worth

not enabling it.

 

As for bios driver that works, what exactly do you mean?

CSMDxe.efi type?

 

When I got his laptop had to use clover and made all the changes in BIOS to work. Security TPM all that.

Updated to latest HP bios at that time. There is no newer bios. It's running the latest.

 

The video looks like the old TV days where maritian wars horizontal back and white looks like lightning going sides ways.

I came with CSM mode disabled. But to run MacOS had to enable CSM mode which is a legacy mode as well on UEFI.

This may explain the problem with booting Windows inside OpenCore.

 

My scan policy is set to put windows behind MacOS.

I set all the variables in OC to boot.

 

But I deleted the Microsoft EFI folder the other day...oops

And I tried different formats on the USB stick, from NTFS, FAT32, with MBR and GPT.  MBR did not work when on the Install to location section due to the drive being GUID/GPT.  did not match.  No conversion in the middle. Little works translating.

 

I forgot that Monterey by default enables FileVault2 and have to disable it?

Are you running FileVault on yours?

 

This USB Windows lIve things takes hours. 

 

Started around 7:30 This morning.

 

Probably FileVault is making it slow?

 

 

Edited by makk
Link to comment
Share on other sites

On 1/13/2021 at 6:52 AM, kushwavez said:

All-in-One Dual-Boot Guide for all scenarios

(from Sierra 10.12 up to Monterey 12)

(should work with Windows 8 and earlier versions of macOS but they're untested)

 

When you have Windows installed first and don't want to lose all your data

When you have macOS installed and want to install Windows on a new partition

When you have an empty disk and want to install the two OS

 

  1. Install macOS when Windows 10 is already installed
  2. macOS installed first
  3. Installing on an empty drive

 

Important note: This will ONLY work if your system is in GPT (GUID)-UEFI mode (not MBR-Legacy)

 

What you’ll need:

  • A GPT-UEFI Windows 10 installer USB
  • A macOS USB Installer
  • Working Clover or OpenCore folder

 

As always, a backup is recommended

 

1.     Install macOS when Windows 10 is already installed

So the problem is that the Windows EFI is 100 MB, not 200 MB so the macOS Disk Utility will fail when creating the new APFS partition for macOS, we need to resize the EFI first

 

  • Win + R, open “diskmgmt.msc” (Create and format hard disk partitions)
  • Right click, Shrink your Windows drive to create unallocated space for macOS (do not create a new partition yet)
  • Boot from the Windows installer USB, click “Repair your computer”
  • At “Advanced options” select “Command Prompt”
  • Write the following:
diskpart
(this is the Windows partition manager)

list vol
(note down your Windows partition letter. Default is C:)

list disk
(will list your drives)

Now select your Windows drive (for example 0”)
sel disk 0

list part
(will list your partitions on the selected disk)

select your EFI (System, 100 MB, for example 1”)
sel part 1

delete partition OVERRIDE
(this will delete your EFI)

create partition efi size=200
(this will create the new EFI partition with 200 MB size)

format quick fs=fat32
assign letter=B
(assign a letter to your EFI in order to manage it)

exit
(we can exit from diskpart now)

bcdboot C:\windows /s B:
(this will re-create the EFI files for Windows)

exit
  • That’s it, restart the system and boot to Windows again
  • Open “diskmgmt.msc” again, now create a new partition for macOS from the remaining Unallocated space (name MAC, format ExFAT)
  • Now boot from the macOS Installer USB and format the MAC partition to APFS with Disk Utility
  • Install macOS on that drive
  • After installation finished boot the installed macOS with your USB
  • After arriving to desktop mount your USB’s EFI and copy the Clover or OC folder to desktop (BOOT folder isn’t needed)
  • Remove the USB and now mount your system EFI
  • Copy the Clover or OC folder to the EFI folder
    • Note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Restart the system, you’ll see that Windows will automatically boot, so we need to make Clover or OC to default bootloader
  • Open cmd in admin mode and type:
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will tell the Windows bootloader to not load the original "bootmgfw.efi", but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" instead

 

  • That’s it! After restart our bootloader will start and we can select Windows or macOS.

 

 

2.     macOS installed first

  • Open “Disk Utility”, click “View” -> “Show All Devices”
  • Click on your drive’s name, “Partition”, add a new partition for your Windows by resizing (MS-DOS, name WIN)
  • Ensure you have working OC or Clover in your EFI
    • Note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Boot from the Windows installer USB
  • Inside Win installer, format the “WIN” partition created in macOS Disk Utility
  • Install Windows on that partition
  • At Windows desktop open “cmd” in administrator mode and type
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will tell the Windows bootloader to not load the original "bootmgfw.efi", but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" instead

 

  • That’s it! After restart your bootloader will start and you can select Windows or macOS

 

3.     Installing on an empty drive

  • Boot the macOS Installer
  • In Disk Utility, click “View” -> “Show All Devices”
  • Click on your drive’s name, “Delete”, Create a new APFS drive for macOS
  • Click on “Partitition”, add a new drive for Windows (MS-DOS FAT, name WIN)
  • Install macOS on the APFS drive
  • After installation is completed, mount system EFI and copy Clover or OC folder to the EFI folder (just the OC or CLOVER, “Boot” isn’t needed, if there is no EFI folder in the EFI partition, create one)
    • note: if using OpenCore, in config.plist set Misc/Security/BootProtect to “None”
  • Remove the macOS installer and boot from Windows installer USB
  • Inside Win installer, format the “WIN” partition created in macOS Disk Utility
  • Install Windows on that partition
  • At Windows desktop open “cmd” in administrator mode and type
bcdedit /set {bootmgr} path \EFI\CLOVER\CLOVERX64.efi

or if using OC

bcdedit /set {bootmgr} path \EFI\OC\OpenCore.efi

Note: This will tell the Windows bootloader to not load the original "bootmgfw.efi", but our own Clover or OpenCore loader instead, then Clover or OC will load "bootmgfw.efi" instead

  • That’s it! After restart your bootloader will start and you can select Windows or macOS

 

 

 

Notes:

  • After NVRAM reset Windows will automatically boot (because of the Boot/bootx64.efi). Simply restart the system to get back to your bootloader
  • If you're getting errors when formatting in Windows installer:
    • Some errors just because of the 200 MB "non-Windows" EFI, try to ignore them and start the installing. If it'll start, then no problem, no need for any other actions
      • If not working, then try the followings:
        • Unplug all external drives (except the installer)
        • Delete the WIN partition and re-create that from the unallocated space (if you have CLOVER or OC inside the EFI, make a backup first, it's possible that Windows will re-create the EFI and delete them)
  • If you want triple-boot with Linux, create a new partition by resizing the Mac or Win partition, make sure the Linux won't re-format the EFI, in BIOS boot order let "Windows Boot Manager" be the first, then you can select Linux, Win, Mac from Clover. (OC untested) Tested with Fedora 30
  • BitLocker isn't tested. I suggest you to disable it for the time of doing the setups
  • If you mess up the "bcdedit /set ..." line, don't worry, it'll boot Windows automatically even if you messed that up. This is why we need to leave the original "Boot" folder alone

@kushwavez

 

Hello there how do you not know what the deal is for OpenCore? When you wrote this post you referenced OpenCore ^ UP ^

 

Have you tested your written words up there or are you guessing?

 

Before you write something make sure you have done it as in tested it otherwise people "assume" you know what you are talking about because you have personally done it and can write the results being true or false.  There is this thing called may have adverse affects such as damaged Bootloaders, causing no boot situation.  Perfection= all things such as precision, tested and mad -- is necessary when dealing with putting out information for thousands, less, they have adverse affects.  Should read up on some the great men who were little men and made great inventions:  GE < What's this?  Those who brought us electricity and the light bulb.  Though candles and solar power is better.  little joke.

 

 

 

So far all you wrote there doesn't matter what boot loader because they do use BOOTX64.EFI for each Bootloader because there is a standard that needs to be  followed or nothing is in order and order brings progress.  "Order". Order means to work for the majority involved. 

 

All must follow a certain format less the 'XXIT' don't work for anyone but said person.

 

Please be careful! ;) have great day!

 

 

 

Edited by makk
Link to comment
Share on other sites

@kushwavez

 

UP TOP you wrote for Windows First on the Drive, to actually boot back by using the Windows Installer and use CMD Prompt by using the Shift+F10

delete the System EFI create a new one with 200MB giving it the drive letter of B.

then issue a command for bcdboot:>  "bcdboot W:\Windows /s B:"

 

I'm assuming that if you leave out>  "/f UEFI"  < this would prevent Windows bcdboot from using "\EFI\Microsoft\Boot\bootmgfw.efi"

thus this command which you wrote for the last thing to do to have bcdboot to use "\EFI\BOOT\Cloverx64.efi or \EFE\BOOT\OpenCore.efi" instead of

the Microsoft. 

 

Is this what you intend and intended for us to know?

Link to comment
Share on other sites

Posted (edited)

I see you are a little offended. Let me clarify things.

This guide helps dual-boot on one drive on UEFI.

When the Win is installed first the EFI partition is 100 MB which will prevent macOS installation because macOS needs 200 MB EFI. That's why you need to re-create the EFI. 

Second. When you install macOS and simply copy/paste the CLOVER or OpenCore to the system EFI that alone won't create a new Boot option for them. So because of that if you start the computer the system will boot into Windows because te bootloader points to /EFI/Microsoft/bootmgfw.efi. 

That is when bcdedit /set cmd comes in. That will tell the Win bootloader to point to CLOVERX64.efi or OpenCore.efi instead of bootmgfw.efi. So, when your PC is booting up, UEFI will select "Windows Boot Manager" option, that'll boot up OC or Clover. Then, in that, you'll select either macOS or Windows. 

 

That's it.

And yes, I tested it on 7 hacks without a problem with OC or Clover.

 

Your case is different. 

You said that it is working with Clover but not with OC. 

 

With OC I've seen many people having problems with booting Windows because OC is applying patches to Windows too, while Clover is leaving Windows alone and booting that natively. That may be your problem. For a workaround OC users boots Windows by using another bootloader like RefindPlus or REFIt. I suggest that if you want to use both OC and Clover, use BootloaderChooser and with that, boot Clover if you want to boot Windows and OC if you don't want to boot Windows and want to boot Mac. for that you can use bcdedit /set {bootmgr} path \EFI\Boot\BootX64.efi (with the downloaded BootloaderChooser efi). That will boot BootloaderChooser first, then you can select either Clover or OpenCore.

 

Things got a little bit off-track here. I clearly written in the guide that it is ONLY for UEFI machines. 

From the pic I see that your Windows install is UEFI, but still, I think the OC is the problem here...

This issue not related to this guide and you may report this/ask this on the OpenCore forum.

 

I really would like to help and I still thinking about what you might try, but anyhow this is the conclusion I have.

Edited by kushwavez
Link to comment
Share on other sites

 Share

×
×
  • Create New...