Hola!
Bueno, pues como te dije, depende del sistema de ficheros, del sistema operativo que tengas, y de lo que quieras exactamente.
Por ejemplo, si tu programa puede llamar al API de Windows, puedes utilizar la funcion GetDiskFreeSpace.
Si el programa tiene únicamente el MS-DOS, puedes utilizar la función 1Bh de la Int 21h; puedes buscar en internet informacion exacta; acabo de encontrar una pagina donde explican los parametros en
http://bbc.nvg.org/doc/Master%20512%20Technical%20Guide/m512techb_int21.htm
Si no te gusta, busta otra ;) (ahora, esto solo es con FAT, no FAT32 ni nada...)
Y si tu programa es para recuperación cuando sólo tienes acceso a las funciones de la BIOS (leer sectores), pues tienes que buscar exactamente cómo es el sistema de ficheros FAT, para saber dónde guarda la información de los sectores por cluster (está en el primer sector del disco). Utiliza "San Google" que casi siempre lo sabe :-p
Un saludo.