I decided to do a clean install of Lion on a new partition, then after copying my stuff removed the old one. I'm now stuck with 100~ GB of free space and a 20 GB partition that Disk Utility won't let me resize... oops.

Disk Utility Partition Screen

I really don't want to have to:

  1. create a partition in the free space
  2. install Lion onto it then copy my stuff (again)
  3. delete the old partition and resize the new one

Is there anything else I can do?


Solution 1:

Yes - boot to your Recovery HD and use Disk Utility there to perform the operation. If it's missing, you can download and re-install Lion which will recreate the Recovery HD.

It's likely the volume is in use or one file that is open needs to be closed so it can be moved.

Solution 2:

bmike's suggestion is correct; boot from the Recovery HD itself in order to change anything.

I would also advise that before making any changes of this sort, you first make a complete bootable disk image backup of your hard disk to an external hard disk using a utility like SuperDuper or Carbon Copy Cloner.

You cannot resize with Disk Utility from within Lion because of the existence of the hidden Recovery HD partition. Furthermore, if you try to reformat or re-partition anything on your disk, you risk deleting the hidden Recovery HD partition altogether. This will cause no immediate harm, but it will interfere with many operations should you need to change anything further, or recover from a disaster.

By way of providing further insight, there is a procedure for making the hidden Recovery HD partition visible from within Disk Utility while you are booted into the regular Lion or Snow Leopard. You perform a command-line operation to enable Debug Mode in Disk Utility, and this gives you an extra menu in Disk Utility from which you can make the hidden partitions visible.

enter image description here

The Recovery HD partition is something completely new from Apple. It is my understanding that the makers of utilities like SuperDuper and Carbon Copy Cloner are hoping for further API information from Apple, and have yet to figure out how best to deal with this new situation.