fdisk tells me this about /dev/hda: "Units = cylinders of 16065 * 512 = 8225280 bytes". That makes one cylinder exactly 8032.5KB. Now my first partition starts at cylinder 1 and ends at cylinder 499, so it is 4008217.5KB (499 * 8032.5KB), right? The strange thing is that when I use BCWipe to wipe it, the program tells me that it's only 4008186KB (31.5KB less). So do I have 31.5KB that is not being wiped, or what's going on here?

Code:
Disk /dev/hda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         499     4008186    b  W95 FAT32
/dev/hda2             500         562      506047+  82  Linux swap
/dev/hda3             563        1185     5004247+  83  Linux
/dev/hda4            1186        2432    10016527+   5  Extended
/dev/hda5            1186        1248      506016    b  W95 FAT32
/dev/hda6            1249        2432     9510448+  83  Linux
Code:
Wiping device      /dev/hda1
pass 31/35 :   4008186/4008186 Kb (100%)   Rate: 6886 Kb/s           - Done
EDIT:

I changed the units from cylinders to sectors in fdisk, and all became clear. Since the boot sector is on the first track of the hd, the first partition beginns on the second track. Apparently partitions can only contain whole tracks. Each track contains 63 sectors of 512 bytes, so here are my "missing" 31.5 Kb!