Chances are, the reason Windows won't let you shrink the volume any further is because there are system files that cannot be moved lurking at the very end of that volume. If I were a betting man, my money would be on the MFT, or Master File Table.
You might try following this series of steps to persuade Windows to allow shrinking your volume:
- Run the Disk Cleanup Wizard to remove the hibernation file and all restore points.
- Disable System Restore.
- Disable support for Hibernation mode.
- Turn off the page file temporarily.
- Reboot the machine, and delete the pagefile.sys from the volume you want to shrink.
- Defragment the volume (I believe you'll need to use a 3rd party utility like Power Defragmenter or Auslogics Disk Defrag, rather than the built-in Windows Defrag, in order to do this properly).
Of course, if my initial bet that the problem is caused by the inconvenient location of your MFT is correct, these steps probably won't do much to fix the problem. I don't know of a free utility that allows you to move the MFT files. And once you've stepped into the realm of purchasing commercial utilities, I haven't the slightest idea why you'd want to let Windows manage your re-partitioning needs.
A gparted Live CD might work for you, but you'd better know what you're doing. Windows doesn't tend to like it when other utilities mess around with its partition structure and boot files.
As I suggested in a comment above, I strongly recommend backing up your data, formatting, and repartitioning your drive. Not only does this solve all these issues for good, but it gives you a chance to clean up any garbage that may have accumulated on your computer and start over fresh. If you've used your computer for a while, you might be surprised at the speed increase you see after doing this.