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