Here, I assume you will be using the Boot Camp Assistant to install an UEFI booting Windows 10. The computer I am using to test this answer is an iMac (21.5-inch, Mid 2011) with macOS 11.13.6 (High Sierra) and macOS 10.15.3 (Catalina) installed. The output from diskutil list
, after installing Windows 10 Pro Version 1909, is shown below. Here the Mac is running Catalina.
Last login: Sat Mar 21 18:14:10 on console
davidanderson@Snapper ~ % diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 898.0 GB disk0s2
3: Microsoft Basic Data BOOTCAMP 102.0 GB disk0s3
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +898.0 GB disk1
Physical Store disk0s2
1: APFS Volume Muskie 32.2 GB disk1s1
2: APFS Volume Preboot 116.3 MB disk1s2
3: APFS Volume Recovery 1.0 GB disk1s3
4: APFS Volume VM 9.7 GB disk1s4
5: APFS Volume Snapper - Data 339.7 GB disk1s5
6: APFS Volume Snapper 11.1 GB disk1s6
Adding an ExFAT Formatted Partition after the APFS Container Partition
The command diskutil apfs resizecontainer disk0s2 800G ExFAT Fish1 0
was entered to create a ~100 GB ExFAT volume. The output is shown below. The value of 800G
was chosen, because this is approximately 100 GB smaller that current partition size of 898 GB.
davidanderson@Snapper ~ % diskutil apfs resizecontainer disk0s2 800G ExFAT Fish1 0
Started APFS operation
Aligning shrink delta to 98,000,027,648 bytes and targeting a new physical store size of 800,000,000,000 bytes
Determined the minimum size for the targeted physical store of this APFS Container to be 408,089,001,984 bytes
Resizing APFS Container designated by APFS Container Reference disk1
The specific APFS Physical Store being resized is disk0s2
Verifying storage system
Using live mode
Performing fsck_apfs -n -x -l -S /dev/disk0s2
Checking the container superblock
Checking the EFI jumpstart record
Checking the space manager
Checking the space manager free queue trees
Checking the object map
Checking volume
Checking the APFS volume superblock
The volume Muskie was formatted by newfs_apfs (748.77.8) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Preboot was formatted by newfs_apfs (748.77.8) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Recovery was formatted by newfs_apfs (748.77.8) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume VM was formatted by newfs_apfs (748.77.8) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Snapper - Data was formatted by newfs_apfs (748.77.8) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Snapper was formatted by diskmanagementd (1412.61.1) and last modified by apfs_kext (1412.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Verifying allocated space
The volume /dev/disk0s2 appears to be OK
Storage system check exit code is 0
Shrinking APFS Physical Store disk0s2 from 898,000,027,648 to 800,000,000,000 bytes
Shrinking APFS data structures
Shrinking partition
Modifying partition map
Volume name : Fish1
Partition offset : 1562910720 sectors (800210288640 bytes)
Volume size : 191406080 sectors (97999912960 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 6144
Number of FATs : 1
Cluster offset : 8192 sectors (4194304 bytes)
# Clusters : 747648
Volume Serial # : 5e7b02c4
Bitmap start : 2
Bitmap file size : 93456
Upcase start : 3
Upcase file size : 5836
Root start : 4
Mounting disk
1 new disk created or changed due to APFS operation
Disk from APFS operation: disk0s5
Finished APFS operation
The output from diskutil list
is shown below. The new ExFAT
formatted partition has the identifier of disk0s5
.
davidanderson@Snapper ~ % diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 800.0 GB disk0s2
3: Microsoft Basic Data Fish1 98.0 GB disk0s5
4: Microsoft Basic Data BOOTCAMP 102.0 GB disk0s3
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +800.0 GB disk1
Physical Store disk0s2
1: APFS Volume Muskie 32.2 GB disk1s1
2: APFS Volume Preboot 116.3 MB disk1s2
3: APFS Volume Recovery 1.0 GB disk1s3
4: APFS Volume VM 9.7 GB disk1s4
5: APFS Volume Snapper - Data 339.7 GB disk1s5
6: APFS Volume Snapper 11.1 GB disk1s6
Note: This change did not cause any problems booting Windows 10.
Adding an ExFAT Formatted Partition after the NTFS Formatted Partition
Note: There exists a Golden Rule which can be loosely stated as “Never use Windows software to change the partitioning on Mac computers.” An exception to this rule is when Windows UEFI boots from the Windows installation files or the Windows Recovery Environment (Windows RE). Seeing a drive letter of X: is an indicator that this has occurred.
There are other exceptions to the Golden Rule. In this case, the Golden Rule rule does not apply due to the following reasons.
- There are no
Mac OS Extended
volumes on the disk0
.
- Except for the Boot Camp software which appears on the system tray and control panel, the installation of the Window Support Software did not allow Windows read/write access to APFS volumes.
- There are no third party software installed which would allow access to APFS volumes from Windows.
The steps to create an ExFAT
volume are given below. The images are from the 2013 iMac.
Open Disk Management, as shown below.
Shrink the main Windows partition. Select Shrink Volume...
, as shown below.
When the window below appears, enter the desired size for the new partition. When finished, click on the Shrink
button.
The result is shown below.
Create new partition. Select New Simple Volume
, as shown below.
Click on the Next
button, when the window below appears.
Click on the Next
button, when the window below appears.
Choose a drive letter, when the window below appears. Here, the default letter of E
was used. When finished, click on the Next
button.
When the window below appears, enter a volume label. Here, the name Fish2
was used. Since the ExFAT
format is not available, let the format default to NTFS
for now. This will be corrected later. When finished, click on the Next
button.
Click on the Next
button, when the window below appears.
The result is a new NTFS
volume, as shown below.
Format as ExFAT. Open a Command Prompt window as an administrator and enter the command format e: /fs:exfat /v:Fish2 /q
, as shown below. You may need to substitute a different drive letter and volume label.
The result is a new ExFAT volume, as shown below.
After booting back to Catalina, the output from diskutil
list is shown below.
Note: Rebooting macOS causes the identifiers to be assigned in ascending order.
Last login: Wed Mar 25 03:56:39 on console
davidanderson@Snapper ~ % diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 800.0 GB disk0s2
3: Microsoft Basic Data Fish1 98.0 GB disk0s3
4: Microsoft Basic Data BOOTCAMP 91.5 GB disk0s4
5: Microsoft Basic Data Fish2 10.5 GB disk0s5
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +800.0 GB disk1
Physical Store disk0s2
1: APFS Volume Muskie 32.2 GB disk1s1
2: APFS Volume Preboot 116.3 MB disk1s2
3: APFS Volume Recovery 1.0 GB disk1s3
4: APFS Volume VM 8.6 GB disk1s4
5: APFS Volume Snapper - Data 339.7 GB disk1s5
6: APFS Volume Snapper 11.1 GB disk1s6