I just posted this in another thread:
I thought the BEST way was to overwrite your drive with random bits several times. You can write all 0's to your drive, but:
The magnetic strength of a bit on a hard drive can be measured, and it's supposed to be within certain tolerances. Lets say I have a byte 11001100 written to the disk. The actual measurements of these strengths could be
.98 .95 .03 .04 .96 .93 .06 .02.
If you start with 11001100, and write all zero's over it, the bits that used to be 1's will be measurably higher than the ones that used to be zero, so you'd end up with something like
.06 .07 .01 .01 .05 .07 .02 .00 - and you could derive that the data used to be 11001100. There IS equipment out there that can detect and analyze this! This would probably keep your wife from recovering your porn stash... But if higher security is required:
By overwriting it with random data multiple times, every bit can get flipped back and forth, so you can't tell if a particular bit was re-written with 0 3x in a row, or if it really WAS zero. Or if that .06 is .06 because the data WAS a 1 and re-written with a zero, or if the random writes to that bit ended with a 1 then a zero.
Multiple random re-writes is industry standard for sensitive data, at least it's the policy in any IT section I've ever worked in. The NSA, FBI, CIA, or anyone on this board couldn't recover data cleaned with this method.
http://www.dban.org/ - dban is a linux boot disk that will rewrite random data over ALL drives it can detect, it's what we use to clean old workstations before we junk em.