Linux 系统上的硬盘深度格式化

Linux 系统上的硬盘深度格式化

我有一台原装华硕 Eee PC 上网本想卖掉。过去我卖旧电脑时,通常会进行深度/安全/清零格式。如何在 Linux 上网本上执行此操作?我正在寻找

  1. 允许我执行此操作的命令

  2. 关于如何在具有(看似?)不可移动介质的设备上执行此操作的建议

提前致谢!

答案1

您可以使用的另一个数据库管理系统

答案2

首先在 USB 驱动器上创建实时 Linux 安装(指示)。

然后启动该 USB Linux 安装并运行:

shred -vfz -n 100 /dev/hda 

您可以将 100 更改为您想要的零写入次数(“z”指定零写入)。“f”参数会覆盖任何权限问题。“v”是详细的。/dev/hda 应该是您的硬盘(或者如果您使用的是 SATA,则可能是 /dev/sda)。您可以使用sudo fdisk -l获取驱动器列表来确定应该使用什么来代替(/dev/hda)。

答案3

美国国家安全局是否会拆开您的机器并准备花费数周时间恢复您的数据?

不?

然后只需 dd if=/dev/zero of=/dev/sda bs=1M 或者(因为我们没有以 root 身份登录)sudo dd if=/dev/zero of=/dev/sda bs=1M

可能需要以单个用户启动,或者从另一台设备启动,但是我怀疑这并不重要(在你写完之前机器崩溃的可能性很小,但我对此表示怀疑)。

机器磁盘 sda 将全部为 0,并且无法恢复。考虑到 SSD 的工作方式,可能会有一些无法访问的块,您需要使用实用程序来获取这些块,但使用普通工具无法读取它们。

鉴于您不会在 SSD 上覆盖数据,而是写入数据,并且驱动器会通过硬件命令擦除该区域,然后将数据写入新的空白区域(这里大大简化了),我怀疑覆盖无数次的事情对您没有任何好处(而所有这一切只是为了让 NSA 无法拆开您的驱动器并用扫描电子显微镜或类似设备读取它),因为 SSD 的技术完全不同。

答案4

从任何实时发行版启动,启动您选择的文本编辑器并将以下代码写入其中,保存并运行:

#!/bin/bash
$DRIVE = /dev/sda # change this to your hard drive you wanna erase
$COUNT = 0
$TIMES = 16 # change this to reflect your state of paranoia =)
while [ $COUNT -lt $TIMES ] : do
    dd if=/dev/zero of=$DRIVE && dd if=/dev/urandom of=$DRIVE
    COUNT = $[$COUNT+1]
done
dd count=1 bs=1024 if=/dev/zero of=$DRIVE # erase the first 1megabyte to clear the MBR and partition table

相关内容