First make sure that you have a bootable Windows Vista installation DVD, as you will be unable to use your computer if you don’t. Next, download the GParted Live CD and burn it to cd.

Boot off the GParted cd, and you will see your hard drives in the drop-down list. The first drive is typically your boot drive, but you can check the Flags column to make sure.

Next you’ll need to right-click on the partition and choose Resize/Move from the menu.

Now you can either use the New Size textbox, or just click and drag the partition to make it smaller (or bigger). When you are done, click the Resize/Move button.

This doesn’t immediately apply the changes, though. You can make other changes to your partitions and then when you are finished click the Apply button.

Depending on the amount of data and the speed of your computer, it can take quite a while to resize the partitions. On my computer it took more than 30 minutes.

Once it’s done, quit, remove the live cd and then reboot your computer. Unless you are very lucky, you’ll be greeted with this horrible error message saying “Windows Failed to start. A recent hardware or software change might be the cause.”

Here’s a screenshot of the error, but don’t worry, we’ll fix it.

Insert your Windows Vista installation dvd and make sure you boot off it. At the welcome screen click the Next button.

On the next screen, click the “Repair your computer” link in the lower left hand corner.

The system recover options dialog will show up, and will ask you if you want to Repair and restart, which we do.

If you happened to click the View details link you’ll see that the error is “Windows Device: Partition=Not found”, which indicates the problem is the partition that we resized.

Your computer will reboot, and you’ll see Windows Vista in the list although it now has a different name indicating that it was recovered.

When Vista first starts up, it will start running a check of the disk. Whatever you do, don’t hit any keys here because we want the system to check the disk.

Once it’s done it will reboot, and you’ll have Vista back up and running again!

If you want to rename the Windows Vista entry in the list back to normal, you can use VistaBootPro.