如何将驱动器归零?

Moh*_*ain 23 format boot windows-7 12.04

我目前正在运行 Ubuntu 12.04 并希望完全格式化我的笔记本电脑,以便我可以安装 Windows 7(替换 Ubuntu)。

当我插入带有操作系统的可启动 USB 时,它只显示一个黑屏,左上角有一个闪烁的白色光标。我等了几个小时(具体来说是整整 5 个小时)等待某事发生但我什么也没得到,所以我拔出 USB 并加载了我的 Ubuntu 12.04。

多次重复此操作,将不同的启动优先级选项放在与 USB 相关的 top-est,但结果相同。我去访问一些像这样的网站 http://www.techspot.com/community/topics/cant-replace-ubuntu-with-windows.175716/说我必须将我的硬盘清零。

我的问题是如何?

注意:擦除我所有的数据没有问题,因为我没有什么重要的备份。

如果我必须在此过程中丢失我的主要操作系统(Ubuntu 12.04),我已经准备好,因为我的目标只是成功安装 Windows 7。请不要回答我的 USB 或我的 USB 读卡器/端口/硬件或 USB 内的内容有问题,因为它们在我兄弟的 PC 上都可以正常启动,因为它可以完美启动。

And*_*ovs 43

Linux 上的清零驱动器是通过以下方式完成的:

dd if=/dev/zero of=/dev/sdX
Run Code Online (Sandbox Code Playgroud)

sdX要删除的驱动器的设备在哪里。

如果你不知道如何做到这一点,按下Ctrl+ Alt+T从Ubuntu的,然后键入以下内容:

sudo dd if=/dev/zero of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,sdb是第二个连接的驱动器。

注意!这将完全擦除您的驱动器。使用风险自负。


编辑 1:

或者,您可能希望添加status=progress以显示进度状态:

sudo dd if=/dev/zero of=/dev/sdb status=progress
Run Code Online (Sandbox Code Playgroud)

编辑2:

根据下面的评论,设置缓冲区大小可能会显着加快进程:

sudo dd if=/dev/zero of=/dev/sdb bs=16M
Run Code Online (Sandbox Code Playgroud)

但是请注意,使用缓冲区dd不会等到操作完成,因此之后您可能需要执行sync命令,该命令将磁盘上的数据与内存同步。

sudo dd if=/dev/zero of=/dev/sdb bs=16M && sync
Run Code Online (Sandbox Code Playgroud)

的目的是sync什么?简单:如果您的存储速度很慢并且dd在磁盘数据未同步后立即断电,则可能会丢失一些数据。对于这种将 PC 上的驱动器清零的特殊情况,这可能不太相关,但对于诸如具有慢速闪存的嵌入式系统之类的东西,需要考虑这一点。

  • @MohdArafatHossain 不需要,`of=/dev/sda` 将确保所有磁盘都被零填充,无论其中有什么分区。请注意,您不应该从引导磁盘执行此操作,如果您从 sda 引导并且想要擦除 sda,则最好从 LiveCD 引导以确保该过程结束。 (3认同)
  • 您应该设置缓冲区大小,因为这会显着加快该过程。`sudo dd if=/dev/zero of=/dev/sdX bs=16M` (3认同)
  • 我看到当我输入 'sudo fdisk -l' 时有 dev/sda1、dev/sda2、dev/sda5 所以我应该做 'sudo dd if=/dev/zero of=/dev/sda1 然后用 sda2 和更高版本sda5 或只是 =/dev/sda :/? (2认同)
  • 您不认为向任何人建议 of=/dev/sda 很危险吗? (2认同)
  • @Andy,不,我没有。除非有人不够聪明来阅读这个问题。 (2认同)
  • @pocket-full-of-quarters 如果你使用缓冲区,你可能想在之后执行“sync” (2认同)