Macbook Pro with Bootcamp and shared partition?

I just got a Macbook and want to install Bootcamp to have access to some Windows only VST plugins. I want to use both platforms to continue making music. As I have tons of GB of audio project files I thought that I could setup Windows via Bootcamp but also create a separate partition for those files. That way I would avoid having the audio files duplicated and redundant.

Now my questions are:

1) Is it possible to make this happen? One exFat for shared files, one regular mac parition and one NTFS for windows (its been a while when I was dealing with partitioning, and that was back on pure windows times)

2) If 1) is possible, how should I proceed. First bootcamp? First the exFat partition? And how do I do a pure data exfat partition on mac


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.

  1. Open Disk Management, as shown below.

    aa0

  2. Shrink the main Windows partition. Select Shrink Volume..., as shown below.

    aa1

    When the window below appears, enter the desired size for the new partition. When finished, click on the Shrink button.

    aa2

    The result is shown below.

    aa4

  3. Create new partition. Select New Simple Volume, as shown below.

    aa5

    Click on the Next button, when the window below appears.

    aa8

    Click on the Next button, when the window below appears.

    aa7

    Choose a drive letter, when the window below appears. Here, the default letter of E was used. When finished, click on the Next button.

    aa9

    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.

    aa10

    Click on the Next button, when the window below appears.

    aa11

    The result is a new NTFS volume, as shown below.

    aa12

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

    aa13

    The result is a new ExFAT volume, as shown below.

    aa14

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