1) defrag windows.
2) make a backup of windows.
3) make a boot disk for windows. If you have problems getting the dual boot working correctly, it's the only way you'll have of booting windows until dual boot works.
4) use the partitioning software of the linux distro you want to install (i'd recommend cfdisk if it's available), to decrease the size of the windows partition. Then make an extended partition. Then, inside that extended partition, make the swap and linux partitions for your distro.
5) works for me.