Expand partitions back, Linux

So I decided I needed a little more space on my Linux partition, so I booted Windows shrank the NTFS partition, and opened up another 1/6 if the disk for my Linux. So I made a liveUSB and booted into it, and found no obvious way to expand the root of my Linux installation.

    Basically the Disk looks like this. Windows(70GB) -> FreeSpace(20GB) -> LinuxRoot(25GB) -> Swap(8GB)

How would I expand the Linux root partition backwards into the free space I cleared up? I cant think of a way of phrasing this shortly so I could not find an answer on Google, it just brought up allot of fruitless stackoverflow posts. I'm effectively running Ubuntu 12.04, if thats of any use, I figure this is more a base Linux thing then a Ubuntu thing.

Thanks, I installed it, ran it, and succeeded. Definitely a liveUSB I am putting into my bag of tricks.