How to wipe a hard drive clean in Linux

You may need to wipe you hard drive to clean up partition errors, bad installations, or for privacy. This will show you howto do this

These methods use a command called dd

Wiping the entire disk
This will overwrite all partitions, master boot records, and data. Use the sudo command as well (sudo dd...)
 * Filling the disk with all zeros (This may take a while, as it is making every bit of data 0) : dd if=/dev/zero of=/dev/sdX bs=1M #replace X with the target drive letter.

The reason one should fill with urandom in case of required security is explained here:
 * If you are wiping your hard drive for security, you should populate it with random data rather than zeros (This is going to take even longer than the first example.) : dd if=/dev/urandom of=/dev/sdX bs=1M #replace X with the target drive letter.

Important Note: You need to replace sdX with the device name you want to overwrite. sda is usually the first hard drive, the second drive would be sdb and so on. Use for example gparted to find the correct drive. If you replace the device name, you can also wipe USB sticks and other peripherals.

Wiping the Master boot record (MBR)
If you messed up your master boot record (MBR) you can wipe it using this command : dd if=/dev/zero of=/dev/hdX bs=446 count=1 #replace X with the target drive letter.

Wiping partitions
You can wipe a partition using the same method than for the whole disk. Just replace the device identifier. If /dev/sda is the whole disk, then (on Linux, because the naming scheme vary from one Linux to another) /dev/sda3 is the third partition on the disk.
 * Filling the second partition on the /dev/sda disk with all zeros : dd if=/dev/zero of=/dev/sdX2 bs=1M #replace X with the target drive letter.
 * Filling the third partition with random data : dd if=/dev/urandom of=/dev/sdX3 bs=1M #replace X with the target drive letter.

Wiping specific files

 * try the command "wipe filename" (cf more detail man wipe or wipe -h)
 * http://abaababa.ouvaton.org/wipe/
 * Can also try the command "shred" ex: # shred -n 6 -z -v personalinfo.tar.gz (cf man shred)