How can I expand a partition into non adjacent free space using GParted?

My dual-boot machine has partitions as follows:

  • sda1 50 GB NTFS
  • sda2 15 GB unallocated
  • sda3 20 GB ext3
  • sda4 20 GB ext4

I would like to allocate the unused space on sda2 to my Ubuntu partition on sda4, hopefully leaving the other two partitions untouched, leaving this configuration:

  • sda1 50 GB NTFS
  • sda3 20 GB ext3
  • sda4 35 GB ext4

Is this possible? If so, how can it be done, preferably using GParted?


You must run gparted from a livecd because you will be moving the partitions.

  1. Backup your data (there is an high risk if something goes wrong during partition changes)
  2. Move sda3 to the beginning of the unallocated space
  3. Move sda4 to the beginning of the unallocated space

  4. Resize sda4