"We couldn't create a new partition or locate an existing one" Problem while installing Windows 10 on 2012 Non-retina MBP

Well, that last post was a disaster on my part. Alright, let's try this again:

I am using a 13" (Sorry, my memory was fuzzy and typed 15" on the last 2 posts) non-retina 2012 Macbook Pro with one SSD drive and a Hard drive and is currently trying to dual-boot Windows 10 for work purposes. Boot Camp will not let me get past this screen no matter what I tried enter image description here

I decide to compromise on using Unetbootin to flash Windows 10 onto my USB. Sadly, life won't go my way. The newest .iso file from Microsoft initially went fine but due to some issues, I decide to use another Windows 10 iso which is version 1607 from July of 2016 and update later. The usb which includes the iso is lent from my acquaintance.

The issue arises at the Windows Setup choosing screen where there were a few problems (I'm really sorry, I will update the post with images as soon as possible but it's pretty late here already.)

There are a few drives, notably 2 EFI drives for my SSD and Hard Drive (them included of course) and the Partition itself. I deleted the partition and use the free space to create a new partition with Windows installer. And when I selected the newly created partition, the error message "We couldn't create a new partition or locate an existing one" pops up. I tried repeating the process and formatting the partition but still, nothing works.

Here's the diskutil list (With the partition currently removed):

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         749.9 GB   disk0s2

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         119.8 GB   disk1s2

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +119.8 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume macOS SSD               51.1 GB    disk2s1
   2:                APFS Volume PreBoot                 23.4 MB    disk2s2
   3:                APFS Volume Recovery                509.8 MB   disk2s3
   4:                APFS Volume VM                      1.1 GB     disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +749.9 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume HDD 800GB               518.5 GB   disk3s1
   2:                APFS Volume Preboot                 23.2 MB    disk3s2
   3:                APFS Volume Recovery                509.8 MB   disk3s3
   4:                APFS Volume VM                      4.3 GB     disk3s4

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.5 GB    disk4
   1:                 DOS_FAT_32 BOOTUSB                 15.5 GB    disk4s1

list disk from diskpart returns something like this: (Again, really sorry about having no images, I will update them soon)

disk0: 111GB and 0B free (I suppose this is my SSD)

disk1: 698 and 0B free (Pretty sure this one is the hard drive)

disk2: 14gb and 0B free (Boot usb...?) Additionally, under GPT, disk0 and disk1 both have * while disk2 doesn't. Not sure what it is but I hope it is worth mentioning.

Can someone help me proceed the Windows installation? I'm in a bit of a pickle here.

P/s: I saw solutions regarding wiping the drive and create a partition in diskpart and proceed from there. I sadly can't do this method because I do not have any external drive large enough to backup my hard drive and I couldn't just go wiping it either as it contains some important stuff.

Update: D:\gdisk64 -l 0: output

GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk 0:: 234441648 sectors, 111.8 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): C7320F5A-4F01-4C4D-A9FA-C772F979C0B7
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 8-sector boundaries
Total free space is 13 sectors (6.5 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          409639   200.0 MiB   EF00  EFI System Partition
   2          409640       234441607   111.6 GiB   AF0A  

Update 2: echo list disk | diskpart >D:\disk.txt output:


Microsoft DiskPart version 10.0.19041.964

Copyright (C) Microsoft Corporation.
On computer: MINWINPC

DISKPART> 
  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online          111 GB      0 B        *
  Disk 1    Online          698 GB      0 B        *
  Disk 2    Online           14 GB      0 B         

DISKPART> 

Updated diskutil output:

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         650.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                99.9 GB    disk0s3

/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                 Apple_APFS Container disk2         119.8 GB   disk1s2
   3:       Microsoft Basic Data System                  52.4 MB    disk1s3

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +119.8 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume macOS SSD               55.7 GB    disk2s1
   2:                APFS Volume PreBoot                 23.4 MB    disk2s2
   3:                APFS Volume Recovery                509.8 MB   disk2s3
   4:                APFS Volume VM                      1.1 GB     disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +650.0 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume HDD 800GB               507.0 GB   disk3s1
   2:                APFS Volume Preboot                 23.2 MB    disk3s2
   3:                APFS Volume Recovery                509.8 MB   disk3s3
   4:                APFS Volume VM                      4.3 GB     disk3s4

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.5 GB    disk4
   1:               Windows_NTFS WININSTALL              15.0 GB    disk4s1
   2:                 DOS_FAT_32 REFIND                  481.3 MB   disk4s2

Update: Failed Installation: enter image description here

dir E:\Windows\System32\winload.exe output:

Volume in drive E has no label.
Volume Serial Number is 460F-140E

Directory of E: \Windows\System32

10/06/2021 05:51 AM     1,556, 176 winload.exe

                   1 File(s)    1,556, 176 bytes

                   0 Dir(s) 89, 119, 178,752 bytes free

bcdedit /store C:\boot\BCD /enum output:


Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-us
inherit                 {globalsettings}
default                 {default}
resumeobject            {3ee49830-70e4-11ec-97b9-dbcf6659b673}
displayorder            {default}
toolsdisplayorder       {memdiag}
timeout                 3

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=E:
path                    \Windows\system32\winload.exe
description             Windows 10
locale                  en-us
inherit                 {bootloadersettings}
allowedinmemorysettings 0x15000075
osdevice                partition=E:
systemroot              \Windows
resumeobject            {3ee49830-70e4-11ec-97b9-dbcf6659b673}
nx                      OptIn
bootmenupolicy          Standard

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.

  1. 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
    
  2. 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 the REFIND volume. Next, create a folder named boot inside the efi folder. Inside the rEFInd download from SourceForge, there is a folder named refind. Copy the contents of this folder to the boot folder on the REFIND volume. Finally, rename refind_x64.efi file in the boot folder to bootx64.efi. The final result is shown below.

  3. Mount the Windows ISO file and copy the contents to the WININSTALL volume. The file I downloaded from Microsoft was Win10_21H2_English_x64.iso.

  4. 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.

  5. 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 the Download button. When finished, close the Safari window.

  6. From the GPT fdisk download from SourceForge, copy the file gdisk64.exe to the WININSTALL volume. When finished, the WININSTALL volume should appear as shown below.

  7. 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"
    
  8. 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.

    first screen

    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 the Disk ### column.

    list volume
    

    Using the values given in the Label column, determine the volume number and drive letter assigned to the WININSTALL volume from the values in the Volume ### and Ltr 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 and 0, respectively, then make the appropriate substitutions in the next command.

    D:\gdisk64 0:
    

    Like diskpart, gdisk64 is an interactive command. However, with gdisk64 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
    Entry
    HDD
    Entry
    Type 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 3
    n 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 and 1, 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 drives are 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.

Windows flash drive icon

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.

  1. Highlight the partition labeled System. Use the Format button to NTFS format the partition. Note: Formatting will remove the System label.
  2. Highlight the partition labeled BOOTCAMP. Use the Format button to NTFS format the partition. Note: Formatting will remove the BOOTCAMP label.
  3. With the partition formally labeled BOOTCAMP still highlighted, select the Next 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.

need system reserve

I could include instructions now on how to create this fairly small partition. Or, you could wait and see, if you get the message.

Update 3

I would be asking the following questions.

  • Does /Windows/System32/winload.exe exist in the third MBR partition on the HDD?
  • Is this the location specified in the /boot/BCD file?

The /boot/BCD file is suppose to be located in the System Reserve. The System Reserve is suppose to be located in the third MBR partition on the SSD. Note: Many of the files and directories in the System Reserve have the hidden attribute. You could UEFI boot from the Windows installer on the flash drive and enter the command below to get the drive letters for the partitions in the SDD and HDD.

echo list volume | diskpart

Here, I will assume the System Reserve partition on the SSD is drive C: and the Windows partition on the HDD is drive D:.

You could then enter the command below to see if winload.exe exists.

dir D:\Windows\System32\winload.exe

You could also enter the command below to show the contents of the BCD file.

bcdedit /store C:\boot\BCD /enum

See if you can post the output from these commands.