Hi!
To resize system disk on Vista, in short:
0) Back up your data!
1) run chkdsk /F
2) defragment drive (couple of times, favorably with some 3rd party tool)
3) boot-time defragmentation (to move MFT and other system files away from the end of partition with 3rd party tool)
4) resize partition using Vista's graphical (or command line) partitioning tool
[5) move other partitions (if any) close to system partition (delete and create again or use 3rd party tool)]
Longer:
I want to share my recent experience with Visa's partitioning tool. I just got my first laptop (ASUS Z53Sseries, C2D T7300, HDD 200GB, RAM 2GB, nv GeForce 8400m G 128MB) and it came with Vista Business preinstalled (no other options.. I was in better thoughts about ASUS actually

). Since I wanted to keep this windows too so I have available one (though
very buggy) if the need arises (and I'm not comfortable throwing away what I have paid for), then I decided to make it dual boot with Linux. Vista Business downgrade looks troublesome, since couldn't find legal (still something unclear in this context) XP installation disk to use.
Soon I discovered that Vista comes with partitioning tool, so I used it. Visual interface for that tool has it's limitations (e.g. can't manage extended partition), but from command line works nice. Then I discovered that I can resize D: disk without problems, but disk C: would not resize at all (max shrink size=0). Googled for this and learned, that many have problems with the same thing. There were offered three options:
1) use Vista's graphical partitioning tool,
2) use Vista's command line tool,
3) use GParted (DANGEROUS! Compatible with Vista only for month or so and not on LiveCD! Besides LiveCD and LiveUSB failed to boot properly for me).
Soon I learned that graphical tool works just as well as command line tool (within its limitations stated above), that is they dosen't shrink my C: disk

Further web search gave me idea that I should defragment my HD. Did that with Vistas defragmenter couple of times with no success. Then I stumbled upon this post:
http://www.howtogeek.com/howto/windows- ... -problems/That was the answer I was looking for!

But system file deletion and pagefile and SSV disabling was
unnecessary, though you can gain significant speedup in defragmentation if there is no pagefile and disk snapshots (which could be disabled and deleted, and later enabled again if needed).
So I downloaded trial version of Diskeeper and now I could see that there were some files at the end of my C: drive and that was the reason I couldn't shrink it. Defragmented it now with it, but that gave me just about 6GB from 90!

There were these system files that Diskeeper couldn't move and it's boot-time defragmentation feature didn't work since it gave me some unhandled exception and asked to reboot.
Then I tried trial version of PerfectDisk and that was the tool I needed. It showed that the unmovable file was MFT and it was movable in boot time defragmantation (worked with PerfectDisk), so I got more shrink space. Then consolidated free space and C: drive's size was down to 30 GB. Defragmented last time to put MFT in adequate place (some free space after it).
It's worth mentioning that graphical tool worked well with simple partitions, but command line tool for the rest. To launch command line partitioning tool, right-click on its icon in start menu and click 'Run as Administrator', and at cmd prompt type diskpart.exe and it has help available then if you type 'help'

. Also to move D: disk close to C: disk I just deleted it and created new since partitions couldn't be moved with this tool.
I hope this will help anyone who is frustrating with this.
Now I'm going to install SL PE 1.1 there (SL 3.4f LiveDVD has these freezing problems and, yes, I checked md5sums). Regarding bootloader, haven't decided yet whether to use Grub or something like EasyBCD.
P.S. Sorry for my English.