Is it okay to create space on APFS synthesized disk to install windows without bootcamp?

Solution 1:

  • What would it look like if the space was inside "any APFS or Core Storage containers"?

    The free space must be contiguous. This generally does not occur in APFS and Core Storage containers.

  • Continuing with the instruction will "absorb the free space" into a volume which is on an APFS container scheme, which defies the instruction.

    Does it matter that the volume to "absorb the free space" is in an APFS type container?

    The free space needs to be absorbed into a partition. In the answer, disk0s4 is a partition with an JHFS+ formatted volume. You can not "absorb the free space" in to a APFS volume. APFS volumes reside in APFS containers. APFS containers span one or two partitions.

  • Perhaps I should be trying to change the type to HFS as per the instruction example?

    You can not do this without destroying the existing data. You should resize the container instead. This will also resize the partition. The proper command is given below. However in your case, you do not need to execute any commands because the drive has no free space to absorb.

     diskutil apfs resizecontainer disk0s2 0 
    
  • Should there be any other changes that you could make me aware of or shall I continue straight ahead and absorb the free space into JacOS?

    The answer is for a 2013 iMac. You have not stated the model/year of your Mac. You should do this before proceeding.

How to Hybrid Partition the SSD Internal Drive for iMac mid 2011

Below is the output from diskutil list internal.

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         239.8 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +239.8 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume JacOS                   40.2 GB    disk1s1
   2:                APFS Volume Preboot                 22.5 MB    disk1s2
   3:                APFS Volume Recovery                512.1 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

Below is the command to reduce the APFS container to 160 GB and create a partition for Windows. You may wish to choose a different size value.

diskutil apfs resizecontainer disk0s2 160G exfat BOOTCAMP 0

The output from diskutil list internal should now appear similar to what is shown below.

/dev/disk0 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk4         160.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                79.9 GB    disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +160.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume JacOS                   40.2 GB    disk1s1
   2:                APFS Volume Preboot                 22.5 MB    disk1s2
   3:                APFS Volume Recovery                512.1 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

If you have gdisk installed, then you can boot to macOS Recovery to finish hybrid partitioning the drive.

Enter the command below to confirm disk0 is the identifier for the internal drive. If a different identifier is shown, then make the appropriate substitutions below.

diskutil list internal

Enter the command below to start gdisk.

/Volumes/JacOS/usr/local/bin/gdisk /dev/disk0

The gdisk command takes interactive input. Below is the functions and data to enter.

r
h
2 3
y
ff
n
07
y
n
w
y

Below is an example using version 1.0.5 of gdisk. Your output should be similar.

GPT fdisk (gdisk) version 1.0.5

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): r

Recovery/transformation command (? for help): h

WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.

Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y

Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): ff
Set the bootable flag? (Y/N): n

Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 07
Set the bootable flag? (Y/N): y

Unused partition space(s) found. Use one to protect more partitions? (Y/N): n

Recovery/transformation command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.

Finally, boot back to macOS.