How to remove all partitions / data on a disk
To remove / delete all data on your disk drive, you can use one of the following methods below. Have a look a gparted in case you need a live DVD to boot from to perform the steps.
Old good dd command
Use the following dd command to remove data from /dev/hdX:
# dd if=/dev/zero of=/dev/hdX bs=512 count=1
OR for sata disk, use the following syntax:
# dd if=/dev/zero of=/dev/sdX bs=512 count=1
In this example, empty sata disk /dev/sdb, enter (you must be login as the root user):
# fdisk /dev/sdb # dd if=/dev/zero of=/dev/sdb bs=512 count=1 # fdisk -l /dev/sdb
Securely wipe hard disk with shred
You can use the shred command to securely remove everything so that no one recover any data:
# shred -n 5 -vz /dev/sdb
The scrub command
You can use a disk scrubbing program such as scrub. It overwrites hard disks, files, and other devices with repeating patterns intended to make recovering data from these devices more difficult. Type the following command to securely wipe out /dev/sdb:
# scrub -p dod /dev/sdb
Remove paritions with fdisk
fdisk can be used to display or manipulate a disk partition table. To remove all partitions perform the following steps.
First, get a listing of your current partition scheme, type the following command:
# fdisk -l.
Disk /dev/hda: 20.0 GB, 20060651520 bytes 255 heads, 63 sectors/track, 2438 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 1 1024 8225248+ b W95 FAT32 /dev/hda2 * 1025 2438 11357955 c W95 FAT32 (LBA) Disk /dev/hdb: 80.0 GB, 80060424192 bytes 255 heads, 63 sectors/track, 9733 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 * 1 2432 19535008+ 83 Linux /dev/hdb2 2433 2554 979965 82 Linux swap / Solaris /dev/hdb3 2555 6202 29302560 83 Linux /dev/hdb4 6203 9733 28362757+ 5 Extended /dev/hdb5 6203 9733 28362726 83 Linux
From the output above, there are two disk listed:
– /dev/hda – 20 GB
– /dev/hdb – 80 GB
Let us assume that we want to remove a partition /dev/hdb3 from /dev/hdb disk. Type the following command:
# fdisk /dev/hdb
The number of cylinders for this disk is set to 9733. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help):
Now type p command to list partition:
Command (m for help): p
Disk /dev/hdb: 80.0 GB, 80060424192 bytes 255 heads, 63 sectors/track, 9733 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 * 1 2432 19535008+ 83 Linux /dev/hdb2 2433 2554 979965 82 Linux swap / Solaris /dev/hdb3 2555 6202 29302560 83 Linux /dev/hdb4 6203 9733 28362757+ 5 Extended /dev/hdb5 6203 9733 28362726 83 Linux
Now let us say you want to delete /dev/hdb3 (3rd partition). Type the d command to delete a partition:
Command (m for help): d
It will prompt you for the partition number. Type 3: (repeat the step for every partition)
Partition number (1-4): 3
Verify that partition deleted:
Command (m for help): p
Now save the changes and exit to shell prompt. Type the w command:
Command (m for help): w