How do I remove unused partition (El Capitan)?

You can't move the start block of a CoreStorage Volume Group ("BOOTCAMP" in your case) non-destructively (OK, there is a workaround: please check the Scattered Physical Volumes method at the end of my answer). The same is valid for non-CoreStorage partitions with on-board tools. AFAIK only iPartition and gparted work for the latter. Therefore you can't easily reclaim empty space with a lower start block and an arbitrary size and add it contiguously to existing CoreStorage or non-CoreStorage volumes.

You may either remove the partition Macintosh H or repartition the internal drive. I recommend the latter because removing one partition will not increase the size of the second partition!

Preparation:

  • Attach a backup drive and use Time Machine to backup BOOTCAMP.
  • Detach the backup drive
  • Restart to Internet Recovery Mode by pressing alt cmd R at startup. Booting to Recovery Mode is not conducive because the Recovery HD will be removed in one of the steps below. And you can't remove a partition used as a boot volume.

    The prerequisites are the latest firmware update installed, either ethernet or WLAN (WPA/WPA2) and a router with DHCP activated.
    On a 50 Mbps-line it takes about 4 min (presenting a small animated globe) to boot into a recovery netboot image which usually is loaded from an Apple/Akamai server.

    I recommend ethernet because it's more reliable. If you are restricted to WIFI and the boot process fails, just restart your Mac until you succeed booting.

    Alternatively you may start from a bootable installer thumb drive (preferably Yosemite or El Capitan) or a thumb drive containing a full system (preferably Yosemite or El Capitan). If you boot to a full system and login as admin you have to prepend sudo to execute special commands like gpt ...!

Either remove one partition (not recommended)

  • Open Utilities -> Terminal
  • Enter diskutil list
  • Enter diskutil umountDisk /dev/diskX with diskX: disk identifier of the CoreStorage volume (probably disk2)
  • Enter diskutil umountDisk /dev/diskY with diskY: disk identifier of your internal drive (probably disk0) and
  • Enter gpt -r show /dev/diskY to get an overview and the index number of Macintosh H (probably 2)
  • Enter gpt remove -i 2 /dev/diskY with diskY: disk identifier of your internal drive (probably disk0)
  • Enter exit and quit Terminal

Or remove all partitions (recommended)

  • Open Utilities -> Terminal
  • Enter diskutil list
  • Enter diskutil umountDisk /dev/diskX with diskX: disk identifier of the CoreStorage volume (probably disk2)
  • Enter diskutil umountDisk /dev/diskY with diskY: disk identifier of your internal drive (probably disk0) and
  • Enter gpt destroy /dev/diskY with diskY: disk identifier of your internal drive (probably disk0)
  • Enter exit and quit Terminal
  • Open Disk Utility and partition your internal drive

Either reinstalling OS X booted to IRM

  • Quit Disk Utility and open Restore OS X
  • Install and configure OS X
  • Download the latest OS X and upgrade to OS X El Capitan
  • attach your backup drive
  • Use the Migration Assistant to import your old users/data

Or reinstalling OS X booted to a bootable El Capitan installer thumb drive (recommended)

  • Quit Disk Utility
  • attach your backup drive
  • Install OS X El Capitan
  • Use the Migration Assistant to import your old user(s)/data


If you hesitate to reinstall OS X and migrate your data, you may convert the first OS X partition of your disk to a Physical Volume and add it to your Logical Volume Group. After extending the Logical Volume, BOOTCAMP will cover almost all of your disk. The content of BOOTCAMP will be preserved.

The approach is similar to a Fusion Drive (two Physical Volumes -> one Logical Volume Group/Logical Volume) however using only one disk.

Scattered Physical Volumes method

  • Attach a backup drive and use Time Machine to backup BOOTCAMP.
  • Detach the backup drive
  • Restart to Recovery Mode by pressing cmd R at startup.
  • Open Utilities -> Terminal
  • Enter diskutil list to list all partitions
  • Enter diskutil cs list to list the CoreStorage items
  • Enter diskutil cs addDisk lvgUUID diskYsZ to add a Physical Volume
    lvgUUID is the UUID of the Logical Volume Group, diskYsZ is the disk identifier of the empty partition Macintosh H (probably disk0s2). The content of the partition will be destroyed!
  • Enter diskutil cs resizeVolume lvUUID size to extend BOOTCAMP
    lvUUID is the UUID of the Logical Volume, size: size in t, g, m, k or b (in your case 250g. If you get an error regarding missing space use 249g).
  • Enter exitand quit Terminal. Open Disk Utility and verify the CoreStorage Volume Group.
  • Reboot to your main volume.

The pros:

  • it's fast; it takes about 3 minutes.

The cons:

  • your CoreStorage LVG is non-contiguous and fragmented.