This answer was tested using an iMac (21.5-inch, Late 2013). Since this Mac is suppose to use an UEFI booting Windows 10, I did not actually test beyond the instructions given here. Your Mac is suppose to BIOS boot Windows 10.
Creating a Partition on Each Internal Drive for Windows
Based on the information posted in the question, the following command would create an approximate 100 GB partition for Windows on the HDD.
diskutil apfs resizecontainer disk0s2 650G exfat BOOTCAMP 0
To create a 50 MiB System Reserve partition on the SSD, the following command could be entered. However, you may have to move some files from the SSD to the HDD, if the SSD is out of space.
diskutil apfs resizecontainer disk1s2 119.771G exfat System 51Mi
Creating a BIOS Booting Windows 10 USB Flash Drive Installer and Hybrid Partitioning the HDD
Your Mac is suppose to install Windows 10 to BIOS boot. These instructions can be used to create a BIOS booting Windows 10 USB flash drive installer. Also, following these instruction will result in a hybrid partitioned internal HDD, which is a requirement for a dual boot of macOS and a BIOS booting Windows. The steps follow.
Erase and partition a 16 GB or larger USB flash drive. Enter the command below and use the output to determine the identifier for the USB flash drive.
diskutil list external
Enter the command below to erase and partition the USB flash drive. If your identifier is not
disk4
, then make the appropriate substitution.diskutil partitiondisk disk4 mbr exfat WININSTALL 15G fat32 REFIND R
Install the rEFInd Boot Manager to the USB flash drive. Download the latest version of the rEFInd Boot Manager from SourceForge. (At the time this was written, the current version was 0.13.2.) Create a folder named
efi
on theREFIND
volume. Next, create a folder namedboot
inside theefi
folder. Inside the rEFInd download from SourceForge, there is a folder namedrefind
. Copy the contents of this folder to theboot
folder on theREFIND
volume. Finally, renamerefind_x64.efi
file in theboot
folder tobootx64.efi
. The final result is shown below.Mount the Windows ISO file and copy the contents to the
WININSTALL
volume. The file I downloaded from Microsoft wasWin10_21H2_English_x64.iso
.Use the Boot Camp Assistant to download the Windows Support Software. This should be done on the Mac where you are going to install Windows. When finished, copy the Windows Support Software to the
WININSTALL
volume.Use Safari to acquire the latest 64 bit GPT fdisk for Windows (
gdisk64.exe
). Under Safari preferences, make sure "Show Develop menu in the menu bar" is checked off. Open a new Safari window then select Develop→User Agent→FireFox—Windows from the menu bar. Goto the SourceForge GPT fdisk website and select theDownload
button. When finished, close the Safari window.From the GPT fdisk download from SourceForge, copy the file
gdisk64.exe
to theWININSTALL
volume. When finished, theWININSTALL
volume should appear as shown below.Enter the following commands to add Mac Startup Manager icon labels.
bless --folder /Volumes/REFIND/efi/boot --label rEFInd bless --folder /Volumes/WININSTALL/efi/boot --label "Windows UEFI"
Use the Mac Startup Manager to UEFI boot the Windows installer. Restart the Mac and immediately holding down the option key until the Mac Startup Manager icons appear. Select the icon with the label
Windows UEFI
.When an image similar to the one shown below appears, press the shift+F10 key combination to open a Command Prompt window.
Enter the following commands presented in the rest of this step.
diskpart list disk
Using the values given in the
Size
column, determine the disk numbers assigned to the internal SSD and internal HDD from the values given in theDisk ###
column.list volume
Using the values given in the
Label
column, determine the volume number and drive letter assigned to theWININSTALL
volume from the values in theVolume ###
andLtr
columns, respectively. If the volume number you determined is different from 3, then make the appropriate substitution in the next command.select volume 3 active exit
If the drive letter you determined is different from
D
, then make the appropriate substitution in the next command.bootsect /nt60 D: /mbr
If drive letter and/or SSD disk number you determined is different from
D
and0
, respectively, then make the appropriate substitutions in the next command.D:\gdisk64 0:
Like
diskpart
,gdisk64
is an interactive command. However, withgdisk64
the delimiter between a command and parameters can be either a space or a return. Also, you can quit without saving changes by pressing the control+C key combination. Below is a table of the entries you need to make. Enter the values in the SDD Entry column in the order shown.SDD
EntryHDD
EntryType Comment r
r
command Switch to recovery and transformation menu h
h
command Make hybrid MBR 2 3
2 3
parameters Add the second and third GPT entries add to the MBR table y
y
parameter Confirm to place EFI GPT (0xEE) partition first in MBR ff
ff
parameter MBR hex code for MBR partition 2 n
n
parameter Skip setting bootable flag for MBR partition 2 07
07
parameter MBR hex code for MBR partition 3 y
n
parameter If y
then, set bootable flag for MBR partition 3n
n
parameter Skip adding adding more GPT entries to the MBR table w
w
command Write table to disk and exit y
y
parameter Confirm to write and exit If drive letter and/or HDD disk number you determined is different from
D
and1
, respectively, then make the appropriate substitutions in the next command.D:\gdisk64 1:
Above is a table of the entries you need to make. Enter the values in the HDD Entry column in the order shown. When finished, enter the next command to close the Command Prompt window.
exit
At this point, the USB flash drive can be BIOS booted and the internal HDD is hybrid partitioned.
BIOS Booting the Windows 10 USB Flash Drive Installer
In order to use the GUI provided by Microsoft to install a BIOS booting Windows 10, the installer has to be BIOS booted. Since the Mac Startup Manger can not properly instruct the firmware to BIOS boot the flash drive, the rEFInd Boot Manager is used instead. This section continues from where the previous section left off.
Either select the red box with the white X or press the command+esc key combination, then select the Yes
button. Immediately hold down the option key while the Mac restarts. When the Mac Startup Manager icons appear, select the icon labeled rEFInd
.
When the rEFInd Boot Manager icons appear, select a Windows icon showing a small flash drive, as shown below. The description displayed should contain the word "legacy". An example would be "Boot Legacy OS from whole disk volume". Note: More than one icon may appear.
When BIOS booting from the flash drive, a long time may pass before anything meaningful appears. Be patient! Once the installer appear, proceed and install Windows 10. When asked: "Where do you want to install Windows?", do the following.
- Highlight the partition labeled
System
. Use theFormat
button to NTFS format the partition. Note: Formatting will remove theSystem
label. - Highlight the partition labeled
BOOTCAMP
. Use theFormat
button to NTFS format the partition. Note: Formatting will remove theBOOTCAMP
label. - With the partition formally labeled
BOOTCAMP
still highlighted, select theNext
button.
Update 1
The OP posted the following comment:
Thanks for the answer! Although..., everything seems to be working so far, on the gdisk part I get this error after skipping setting bootable flag for MBR partition 2:
GPT partition #3 does not exist or is too big; skipping. Unused partition space(s) found. Use one to protect more partitions? (Y/N):
Normally, I would use the output from the command below to determine what should be done next. (If drive letter and/or disk number you determined is different from D
and 0
, respectively, then make the appropriate substitutions.)
D:\gdisk64 -l 0:
However, this might be difficult for you to post for me to see. Therefore, you could enter the command below which will write the output to the file gpt.txt
on the flash drive.
D:\gdisk64 -l 0: >D:\gpt.txt
You could then boot back to macOS, edit your question to include the contents of this file.
Update 2
Since the output from list disk
shows the HDD to be Disk 1
, you should have entered D:\gdisk64 1:
instead of D:\gdisk64 0:
.
Warning: Since the SSD is disk 0, you will probably will not be able to install Windows on the HDD, unless there exists a 50 MiB System Reserve partition on the SSD. In other words, you will encounter the following message.
I could include instructions now on how to create this fairly small partition. Or, you could wait and see, if you get the message.