In all versions of Windows you should have at a minimum 15% of the drive you are defragmenting free. The more space you have the more efficiently MS can handle the defragment.
The reason for this is during a defrag your OS is moving files around for more efficient access. I have come tp find if you have at least 30% free it will go A LOT faster! Defragment often and you will have a much speedier system. There are great ways for automating your defragementing.
There is no disk required to perform a defragmentation utility. The most important thing is to maintain the defragmentation for your hard disk at a regular basis.