SUMMARY: secure ways of disposing a hard disk - command needed to erase data

From: <>
Date: Tue Sep 21 2004 - 03:15:55 EDT
Thank you all,  lots of great stuff I received.



In the past I've gone for physical damage to the drive.
i.e. you take the drive out the back with a sledge hammer.

I've not heard of anyone ever recovering data from a drive with
bent/broken platters, and it's good stress relief too!

If you want the drive to be usable again afterwards you could do one of
the destructive write tests in /usr/sbin/format.

"Bennett, Steve" <>
09/20/2004 11:30 PM


Here is a link that I think will be of more

Wade Lich


Hi Goh,

The best way we do it is by wiping the disk out using
strong magnets, but if thats not an option for you,
you can format the disk, and fill it up using DD

dd of=/dev/rdsk/c0t4d0s0 if=/dev/zero

you can do this for each partition.. this shoudl wipe out
most of the data.

If you have any questions, please let me know.




I dd /dev/zero onto each sector seven times and then throw the disk away.

dd if=/dev/zero of=/dev/rdsk/cXtXdXs2 bs=1024

Between each run I need to put a disk label back onto the disk, but that
is done very quickly by "format".

"Christopher L. Barnard"
09/20/2004 09:46 PM


I found this information about a year ago while searching for similar info.
I don't have the original posters name so I'm unable to attribute credit
where due :

Believe it or not, there is an actual standard for "drive cleaning".
Repartition, newfs or SCSI G0 format is not a drive cleaning.

To clear the data out of a drive you need to
a) write all 1s
b) write all 0s
c) write 010101010... across the whole drive
d) create new filesystems (probably needs a new partition first,
and why not do a G0 format while you are at it).

This is somewhat tedious, as each a), b) and c) kills the partition
table requiring a new partition.

Any other method makes data recovery (theft?) tedious, but possible.

Do not perform a G0 format first -- remapping bad blocks might result
in data be hidden but not removed.

b) above can be done with
             dd if=/dev/zero bs=1024k of=<raw disk>

a) and c) require either either special programs, or special
(non-existant) devices.  What you want is something like

             dd if=/dev/0xAAAAAAAA of=<raw disk>
             dd if=/dev/0xFFFFFFFF of=<raw disk>

but you will probably have to write a few simple programs so you can

        dev_0xAAAAAAAA | dd of=<raw disk>
             dev_0xFFFFFFFF | dd of=<raw disk>

Mike Galvez


secure sites for the us goverment use an electic drill.

other than physical destruction, there is no way to totally destroy the
us government standards work very well for most businesses.

most methods uses overwriting the entire with random data serveral
(different random data each time.)
ending with an all 0 or 1 finishes the process.
this works well for most businesses.
but, a determined foe with lots of money and time can reconstruct the
(track drifts, etc. makes this possible.)

the electric drill works best.


Hello there,

Overwrite the entire disk 7 times.
Just dump general data on it to overwrite it.  Make sure you write to all
partitions.  I usually just:

1) mount the partitions of the expiring disk
2) delete everything on those partitions
3) write to it.   you could truss a bloated process.  `truss -p $PID >
(don't use mkfile because size is only noted, but  disk blocks  are  not
allocated  until  data is written to that file)
4) once it's full, delete it and repeat #3 about 6 more times

A better way:
*) De-gaussing!  demagnetize the disk.  get a huge high powered magnet and
'zap' the disk 2 times.  it'll make it unusable.  caveat: don't do the
anywhere near your wallet (credit cards, etc), your office access badge or
anything else that's magnetic.  an it's a pain because the proper way is to
disassemble the disk because the platters have a small amount of sheilding.

09/20/2004 08:39 PM


Newfs on the disks and this will distroy all data on the disk.
This is native to solaris.
Vinnie German


I find that a T6 torx bit on a screwdriver is compatible with a wide range
of OSs for ensuring that the disks are no longer usable, readable.  Just
pop the casings open, remove the platters and attack them with either
strong magnets (two included FREE in each disassembled hard disk !) or
scratch liberally.

Takes a couple of minutes per disk, once you've had a little practice.

the hatter


afaik, format - analyze - verify will destroy the data
Otherwise you can use dd if=/dev/zero of=/dev/disk but this is not
100% sure (if you have a /dev/random it would be better to use that 2
or 3 times).

I normally just use /dev/zero on the first blocks but my security
needs are minimal. (enough for casual scrubbing)

Ronny Martin


just format the disk with a new partition that encompasses the whole disk, then newfs it.
do you back it up?  think about getting rid of the backups as well if necessary.

Fonseca Mario


How secure do you want to be?  And how much time do you have?

while :
             dd if=/dev/zero of=/dev/dsk/c?t?d?s2
             dd if=/dev/random of=/dev/dsk/c?t?d?s2

Will wipe the disk reasonably well, as long as you leave it running long enough.  The UK
government used to state that a write of 0, then 1, then random, should be done 99
times before the disk is "safe", but this may be overkill for anything short of the plans of
how to build a nuclear missile.  Not sure if this is still their recommendation

The use of random rather than always 0 or 1 is key though, so although this is a lot slower
than using just all zero, then all one, then repeat, it's also a lot more secure.



Our risk management people accept five passes of format's "write" test with
random data. This generally takes all night.

You can't run this on the boot disk! Normally, I place the disks to scrub in
an old E250 I have here and run format. When it has finished, I install the
disks back in the original system and then jumpstart it to put a basic OS
back on. The 250 can handle four or five disks at once.

For workstations, I boot them off the network into single user mode (ok boot
net -s) and then run format.

The format options:

format -> select disk -> analyze -> set up (defaults, except 5 passes, and
random patterns.),
then analyze -> write.

Sometimes you need to run format -> type to reset the disk type after this,
so it is probably a good idea to run format -> current to get that
information before you start the write sweep.

-- Russell Page.


dd if=/dev/random of=/dev/rdsk/cXtXdxs2 bs=128k

"Smith, Kevin"


burn the hard disks in an incinerator
is the only way if you have military or HPPIA-controlled data on the

Else do a search on for a "format" script
which will copy 1 and zeros 4 times across the entire disk.



      09/20/2004 11:56 AM

You use either use dd if=/dev/null of=/dev/<your disk>

In the format command there is an option to destroy the data.

Hope these helps.


several iterations of:

dd if=/dev/zero of=/dev/rdsk/c0t0d0s2

should do the trick - it writes all zero's to the entire disk.  I would
do it more than once just to be safe.



Screwdriver and a file/metal bruch/sander...  Pull the drive/platters
apart and give them all a good scrubbing.

Good luck

=========  Original question =================

[] On Behalf Of
Sent: Sunday, September 19, 2004 10:45 PM
Subject: secure ways of disposing a hard disk - command needed to erase


Perhaps this has been asked before :
We need to securely scrap/dispose hard disks.

What's the various ways of doing it aside from using 3rd party tools.

We want something that's native to Solaris 2.6 to Solaris 8, so secure
that you can recover the data anymore.

Hopefully it's something simple/easy.


--------------------------------------------------------------- -
        Visit our Internet site at

Get closer to the financial markets with Reuters Messaging - for more
information and to register, visit

Any views expressed in this message are those of  the  individual
sender,  except  where  the sender specifically states them to be
the views of Reuters Ltd.
sunmanagers mailing list
Received on Tue Sep 21 03:15:42 2004

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:43:37 EST