27

I'm currently running Ubuntu 12.04 and want to completely format my laptop so I can install Windows 7 (replace Ubuntu).

When I put in my bootable USB with the OS it just shows a black screen with a white blinking cursor on the top left corner. I wait for hours (to be specific 5 whole hours) waiting for something to happen but I get nothing, so I pull out the USB and my Ubuntu 12.04 loads up.

Repeated this several times with putting different boot priority options on top-est that relate to USB but the results are same. I go and visit some sites on the net like this http://www.techspot.com/community/topics/cant-replace-ubuntu-with-windows.175716/ that say I have to zero out my hard drive.

My question is how?

Note: Erasing out all my data is no problem cause I have nothing important to backup.

If I have to lose my primary OS (Ubuntu 12.04) in the process I am ready to as my aim is just to install Windows 7 successfully. Please don't answer that there is something wrong with my USB or my USB reader/port/hardware or the content inside the USB cause they all works fine on my brothers PC as it boots up flawlessly.

2
  • Look more likely that your computer is not booting from the USB correctly than a need to zero out the hard disk in it. Anyways the answer with the dd command should work out, just make sure you boot from a USB pen with Ubuntu or from the LiveCD. May 27, 2012 at 23:02
  • @BrunoPereira I'm confused/lost cause what's running in my mind is that something is wrong with my BIOS but then the info on the net suggests that I do this :/ and in addition I will repeat 'I cannot boot form any external storage/media device what so ever!!!!' for your point in booting form "USB pen....or from the LiveCD". Thanks for your time and suggesting Andrejs Cainikovs answer, I'm gonna apply it as soon as he comments back ;) May 28, 2012 at 7:20

4 Answers 4

54

Zero-out drive on Linux is done via:

dd if=/dev/zero of=/dev/sdX

where sdX is the device of the drive to delete.

If you're not aware on how to do this, press Ctrl+Alt+T from Ubuntu, and type following:

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

In example above, sdb is the second connected drive.

NB! This will erase your drive completely. Use at your own risk.


EDIT 1:

Optionally, you might want to add status=progress to show progress status:

sudo dd if=/dev/zero of=/dev/sdb status=progress

EDIT 2:

As per comments below, setting the buffer size might significantly speed up the process:

sudo dd if=/dev/zero of=/dev/sdb bs=16M

Please note, however, with a buffer dd will not wait until operation is complete, so afterwards you might need to execute sync command, which synchronizes data on disk with memory.

sudo dd if=/dev/zero of=/dev/sdb bs=16M && sync

What's the purpose of sync? Simple: in case if your storage is slow and power off happens right after dd while disk data is not synchronized, some of the data might be lost. It might be not so relevant for this particular case about zeroing out the drive on PC, but for things like embedded systems with slow flash memories this needs to be considered.

7
  • 2
    I see when I type in 'sudo fdisk -l' that there is dev/sda1, dev/sda2, dev/sda5 so should I do 'sudo dd if=/dev/zero of=/dev/sda1 then with sda2 and later sda5 OR just =/dev/sda :/? May 27, 2012 at 20:32
  • 4
    @MohdArafatHossain No need, of=/dev/sda will make sure the all disk is filled with zeros no matter what partitions are in it. Notice that you should not be doing it from your boot disk, if you boot from sda and you want to erase sda you better boot from a LiveCD to make sure the process goes to the end. May 27, 2012 at 22:57
  • 2
    Don't you think it's dangerous to suggest of=/dev/sda to anyone?
    – Andy
    Oct 24, 2014 at 14:34
  • 5
    @Andy, no, I don't. Unless if this anyone is not smart enough to read the question. Oct 25, 2014 at 7:08
  • 3
    You should set the buffer size as this significantly speeds up the process. sudo dd if=/dev/zero of=/dev/sdX bs=16M May 7, 2020 at 2:59
4

You can use pv to do it and you'll even get a nice progress bar:

pv < /dev/zero > /dev/sdX

where sdX is the device of the drive to delete; you can get that from this command:

lsblk

Taken from pv(1)

0
3

Another tool that can do the job is shred:

shred -v -f -n1 --random-source=/dev/zero /dev/sda2
2

Maybe I can add a little insight here. When booting with a Windows CD, the Windows installer program is kind of stupid and worthless as most Microsoft products are. What can end up happening is the operating system of the Windows installer CD will hand and die. Mostly because it doesn't know what to do with a hard drive that is not zero'd, or doesn't have Windows. It doesn't give an error, just hangs.

I happen to have a perfect example right in front of me right now. Even when I boot with an Ubuntu CD, on this ASUS computer, the OS, begins to start, then it touches the hard drive, as any good OS should do, in order to see what resources are present.

On this particular computer, (and the problem is with the BIOS of the particular machine) it appears to hang, for almost 20 minutes, for each touch of the hard drive. So booting a live CD on this computer can take almost 20 minutes. Just in case, I'd check for a BIOS upgrade on your system, it will prolly fix the USB booting issues and maybe the timeout routine for no hard drive access, although that's more unlikely.

If you can boot from the live CD, just let it sit. Shouldn't take more than an hour, if you have the same booting flaw as this machine. Once it comes up, do the HD zero out, in a pinch though, boot with your Ubuntu on HD, and zero it out anyhow. It should zero out enough before the OS crashes to allow your worthless Windows install CD to work.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .