Do I have to “checkdisk” before running JkDefrag?
Feel free to do so, but it’s not necessary. JkDefrag is totally solid and cannot get confused by a corrupted disk. And even if it could then nothing bad can happen, because JkDefrag does not write to disk itself. Everything is done through the Windows defragmentation API, and Windows is quite smart about handling corrupted disks.