如何将驱动器清零?

如何将驱动器清零?

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

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

重复此操作几次,将与 USB 相关的不同启动优先级选项放在最顶部,但结果相同。我去网上访问了一些网站,例如http://www.techspot.com/community/topics/cant-replace-ubuntu-with-windows.175716/也就是说我必须将我的硬盘清零。

我的问题是如何?

笔记:删除我的所有数据没有问题,因为我没有任何重要的数据需要备份。

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

答案1

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

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

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

如果您不知道如何执行此操作,请在 Ubuntu 上按Ctrl+ Alt+ T,然后输入以下内容:

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

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

注意!这将彻底清除您的驱动器。使用时请自负风险。


编辑1:

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

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

编辑2:

根据以下评论,设置缓冲区大小可能会显著加快该过程:

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

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

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

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

答案2

您可以使用 pv 来完成此操作,甚至会得到一个漂亮的进度条:

pv < /dev/zero > /dev/sdX

其中 sdX 是要删除的驱动器的设备;您可以通过以下命令获取:

lsblk

取自光伏(1)

答案3

另一个可以完成这项工作的工具是shred

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

答案4

也许我可以在这里补充一点见解。使用 Windows CD 启动时,Windows 安装程序就像大多数 Microsoft 产品一样,有点愚蠢和无用。最终可能发生的情况是 Windows 安装程序 CD 的操作系统将崩溃。主要是因为它不知道如何处理未清零或没有 Windows 的硬盘。它不会给出错误,只是挂起。

我正好有一个完美的例子。即使我用 Ubuntu CD 启动,在这台华硕电脑上,操作系统也会开始启动,然后它会接触硬盘,就像任何好的操作系统应该做的那样,以查看现有的资源。

在这台特定的计算机上(问题出在这台特定机器的 BIOS 上),每次触摸硬盘时,它似乎都会挂起近 20 分钟。因此,在这台计算机上启动实时 CD 可能需要近 20 分钟。以防万一,我会检查您系统的 BIOS 升级,它可能会修复 USB 启动问题,也许还会修复无硬盘访问的超时例程,尽管这种情况不太可能发生。

如果您可以从实时 CD 启动,就让它静置。如果您的启动缺陷与这台机器相同,则不应超过一个小时。启动后,请将 HD 清零,但在紧急情况下,请使用 HD 上的 Ubuntu 启动,然后将其清零。在操作系统崩溃之前,它应该清零到足以让您毫无价值的 Windows 安装 CD 正常工作。

相关内容