Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am planning on selling my laptop. So I formatted my disk using the Disk Utility and chose to overwrite the disk with zeroes.

Two questions:

Is this the same as overwriting the disk using dd?

sudo dd if=/dev/zero of=/dev/sda

And is this method secure enough so that buyers can't easily recover the previous data? Or should I take additional measures (like encrypting the disk, destroying the headers, etc.)?

share|improve this question
I would boot from a live USB or CD unmount my drive then use shred. See How can I securely erase a hard drive? for how – Warren Hill Oct 15 '13 at 19:44
I still prefer a GUI for doing this kind of thing. Are there any advantages for using shred over the Disk Utility? – Neftas Oct 15 '13 at 20:16
up vote 16 down vote accepted

Yes, the disk utility uses a method similar to the one with dd you describe, or a faster and more secure one more like:

dd if=/dev/urandom of=/dev/sda bs=1M

This introduces a lot more fuzz to the overwriting pattern than zeros only, which should be more difficult to restore but not noticeably slower to perform.

Some people claim, this is not enough and one should overwrite hard disks multiple times and with more elaborate patterns (scrub(1) can do both of that as per the other answer), but most will say once is enough, if an attacker wants to restore more than a few bits with a significant chance.

Edit: Apparently /dev/urandom peaks at ~13 MiB/s on at least two systems including mine. Therefore simonp suggested a different approach using openssl(1):

head -c 32 /dev/urandom | openssl enc -rc4 -nosalt -in /dev/zero -pass stdin | dd of=/dev/sda bs=1M
share|improve this answer
There are so many methods, I was just wondering if the Disk Utility is safe enough. I don't want to drag this thing out, just want to make it clean enough for a sale, and make sure no-one can easily to my data. Thanks for answering. – Neftas Oct 15 '13 at 20:15
If you want to be sure, you need to either read the documentation or even the code of the disk utility (though I don't know why they would do something stupid over something so trivial), or do it yourself with dd or scrub. – David Foerster Oct 15 '13 at 20:20
Yeah, or check if you can recover something yourself after the wipe is done. I think I'm going to trust the program. – Neftas Oct 15 '13 at 20:24
Even if you simply overwrite the drive with zeros once, you wouldn't be able to recover any data with software or home tools alone. – David Foerster Oct 15 '13 at 20:25
Using /dev/urandom is much slower than /dev/zero (reaches a peak of 13MB/s vs ~0.5GB/s on my laptop). For a faster way of generating random numbers in Linux, see E.g. openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero | pv -pterb -s $(sudo blockdev --getsize64 /dev/sdb) | sudo dd of=/dev/sdb bs=1M – simonp Dec 21 '14 at 7:50

Another option for reference is to use the ATA Secure Erase method using hdparm.

The problem with using OS level commands such sa DD is that they will only erase blocks seen by the OS. Any spare blocks (especially reserved cells on SSDs) will not be erased.

share|improve this answer
It's not "another" option, it is the only option that stands any chance of success. – Ben Voigt Jan 22 at 16:05

The "bootom line" AFIK is that the data has to be over written or it can be retrieved. There are many tools / methods to do this.

The general consensus is that you only have to make one pass, so additional passes take additional time and put excessive wear and tear on the hard drive.

While there are many solutions, I prefer scrub.

scrub /dev/sda

Or if you prefer

scrub -p dod /dev/sda


share|improve this answer
Like I said in the comment on my question, I prefer using a GUI if there is one readily available, like in the Disk Utility. (I don't really like staring at my Terminal, wondering if it's doing something. I know there are ways to show progress with dd, but still.) Besides for me it's important that the process takes hours, not days, so overwriting everything with zeroes seems like my best bet? – Neftas Oct 15 '13 at 20:22
Actually, one of the best ways to forever lose contents doesn't involve overwriting the data at all. Essentially, use "Full-Disk Encryption" from day 1, then when you want to wipe it, lose the original encryption key. Much faster than overwriting, AND it also makes unreachable copies of data (remapped sectors, etc) undecodable. – Ben Voigt Jan 22 at 16:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.