How can I shrink my Mac HDD and add the space to my Windows 10 disk?

I have Windows 10 running on a partition on my iMac. What I'd like to do is shrink the Mac HDD and add that space to make the Windows 10 partition larger.

Here's the layout of my drives now.

Report for internal hard disk

Current GPT partition table:
 #      Start LBA      End LBA  Type
 1             40       409639  EFI System (FAT)
 2         409640   1674026927  Mac OS X HFS+
 3     1674026928   1675296463  Mac OS X Boot
 4     1675296768   1953523711  Basic Data

Current MBR partition table:
 # A    Start LBA      End LBA  Type
 1              1       409639  ee  EFI Protective
 2         409640   1674026927  af  Mac OS X HFS+
 3     1674026928   1675296463  ab  Mac OS X Boot
 4 *   1675296768   1953523711  07  NTFS/HPFS

MBR contents:
 Boot Code: Unknown, but bootable

Partition at LBA 40:
 Boot Code: None (Non-system disk message)
 File System: FAT32
 Listed in GPT as partition 1, type EFI System (FAT)

Partition at LBA 409640:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 2, type Mac OS X HFS+
 Listed in MBR as partition 2, type af  Mac OS X HFS+

Partition at LBA 1674026928:
 Boot Code: None
 File System: HFS Extended (HFS+)
 Listed in GPT as partition 3, type Mac OS X Boot
 Listed in MBR as partition 3, type ab  Mac OS X Boot

Partition at LBA 1675296768:
 Boot Code: Windows BOOTMGR (Vista)
 File System: NTFS
 Listed in GPT as partition 4, type Basic Data
 Listed in MBR as partition 4, type 07  NTFS/HPFS, active

There are both paid and free tools capable of doing that. Here are some pages that may be helpful about your choice of software and its use:

  • http://guides.macrumors.com/Extend/Resize_Boot_Camp_Partition
  • https://superuser.com/questions/451192/resizing-bootcamp-partition-without-wiping
  • https://discussions.apple.com/thread/2027812?start=0

Generally speaking, the steps you need to follow :

  1. Backup both Mac OS and Windows
  2. Install rEFIt or burn it to a CD
  3. Resize Mac partition inside Mac OS
  4. Boot recovery media (gparted or paragon live-cd etc.) and resize Windows partition
  5. Boot to rEFIt and sync MBR and GPT records. Or alternatively you can disable SIP and use the gdisk command line tool as explained here to recreate the Hybrid MBR.
  6. Boot to installation disc/USB of the Windows version you have and repair Windows installation. If the automated “Start-up Repair” option doesn’t work, you can try running the commands documented here.

There may be additional steps depending on the software you use.