问题描述
我打算销售一个USB外置硬盘,该硬盘目前包含一个带有存储密码和银行信息的旧Ubuntu安装。
如何在销售之前安全擦除驱动器?
最佳解决思路
安全地擦除存储设备
有一个称为shred
的命令行实用程序,它用随机位覆盖文件或整个设备中的数据,使其几乎不可能恢复。
首先,您需要确定设备的名称。
这可能类似于/dev/sdb
或/dev/hdb
(但不像/dev/sdb1
,这是一个分区)。您可以使用sudo fdisk -l
列出所有连接的存储设备,并在那里找到您的外部硬盘驱动器。
注:确保它是正确的设备,选择错误的设备将擦除它。
卸载该设备上当前所有的分区,如果有的话。然后运行以下命令,用设备的名称替换/dev/sdX
:
sudo shred -v /dev/sdX
这将用随机数据覆盖设备上的所有块三次,-v
标志用于详细显示并打印当前进度。
您可以添加选项-n
N
以仅执行N次,以节省大容量设备上的时间。这可能需要一段时间,具体取决于外置硬盘的大小(我认为我的4 GB闪存需要20分钟左右)。
您也可以通过添加选项-z
将最后一次迭代后的所有位设置为零,我宁愿这样做。
sudo shred -v -n1 -z /dev/sdX
之后,你将不得不重新分配设备。最简单的方法是安装GParted并使用它:
sudo apt-get install gparted
gksu gparted
在upper-right转角列表中选择您的设备。然后选择Device -> Create partition table
在设备上创建分区表。
然后添加一个使用设备上所有未分配空间的分区,选择fat32
作为文件系统。通过单击工具栏中的“应用”按钮(绿色复选标记)来应用更改。
Tips
-
在线阅读
shred
的手册页或在终端中键入man shred
。 -
请注意,磁盘的某些部分不会被擦除 – 使用驱动器固件”SECURE ERASE”命令(例如通过hdparm)来正确清理磁盘。
次佳解决思路
只需使用dd
工具’zero’:
-
通过
System > Administration > Disk Utility
启动磁盘工具 -
在左侧面板中找到您的磁盘,选择它并在右侧找到设备路径(例如
/dev/sdX
) -
从gnome-terminal(应用程序>配件>终端)运行以下命令:
sudo dd if=/dev/zero of=/dev/sdX bs=1M
确保使用正确的设备路径,而不是复制此行!
这将用零覆盖整个磁盘,并且比生成千兆字节的随机数据要快得多。像所有其他工具一样,这不会处理因任何原因(写入错误,保留等)而被映射出的块,但很可能您的买方不太可能拥有从这些块中恢复任何内容的工具和知识。
PS:在Bruce Schneier fanboys让我失望之前:我想证明可以从已被零覆盖的non-ancient旋转硬盘中恢复数据。不要考虑评论,否则! :P
第三种解决思路
看看这个关于Security Stack Exchange的权威性问题
How can I reliably erase all information on a hard drive
这将讨论各种安全删除选项,以及物理破坏和擦除,以便您可以决定哪个选项可能是您最好的选择。
请记住,不同存储的当前恢复状态如下所示:
-
非常老的硬盘:磁道之间存在间隙,所以你可能会在这些间隙中出血(如果你有扫描电子显微镜的话)。多次覆盖可能有用。
-
新的硬盘驱动器:目前还没有任何技术可以在覆盖后进行读取。
-
固态硬盘:磨损均衡意味着您无法安全覆盖。相反,您要么加密整个卷并处理要擦除的密钥,要么破坏设备。
第四种思路
我通常使用badblocks -w
的破坏性read-write测试。两大优势是
-
它是基本系统的一部分,几乎每个救援系统都是如此,来自Ubuntu安装程序的救援 shell
-
您会在最后得到一份报告,了解磁盘上是否有坏块
请注意,如果报告指出问题,我不再销售该磁盘,因为它可能很快就会失败。
用法示例(如果您的磁盘是sdd
):
sudo badblocks -wsv /dev/sdd
(添加sv
进度条+详细)
第五种思路
-
您需要创建一个在驱动器的整个内容上运行/dev /random的环回设备。
-
这将使用几乎完全随机的数据填充整个驱动器。然后可以使用dd将所有位设回0。
-
其实,dd应该能够随机化所有的信息。
-
你说你已经将银行信息存储在你的硬盘上了。所以我建议你从live cd(其中hdX是你的硬盘)运行以下命令中的任何一个。
dd if=/dev/zero of=/dev/hdX
dd if=/dev/random of=/dev/hdX
dd if=/dev/urandom of=/dev/hdX
-
如何根据您的硬盘大小花费很长时间。
供你参考:
请参阅以下链接,
注意:
-
随机使用随机位,零使用0位。
-
Urandom是随机的semi-random版本。
第六种思路
您可以使用wipe
安装
sudo apt-get install wipe
您可以使用该软件或使用以下命令:
shred -vfz -n ? (drive)
如果是”?”,请将您想要粉碎驱动器的次数,然后对于”(drive)”,放入您想要粉碎的驱动器。一旦你完成了,做任何你想要的。我认为这种方法更有效,因为您可以控制对驱动器所做的操作并立即获得结果。
链接
第七种思路
Darik’s Boot and Nuke (commonly known as DBAN) […] is designed to securely erase a hard disk until data is permanently removed and no longer recoverable, which is achieved by overwriting the data with random numbers generated by Mersenne twister or ISAAC (a PRNG). The Gutmann method, Quick Erase, DoD Short (3 passes), and DOD 5220.22-M (7 passes) are also included as options to handle Data remanence.
DBAN can be booted from a floppy disk, CD, DVD, or USB flash drive and it is based on Linux. It supports PATA (IDE), SCSI and SATA hard drives. DBAN can be configured to automatically wipe every hard disk that it sees on a system, making it very useful for unattended data destruction scenarios. DBAN exists for Intel x86 and PowerPC systems.
DBAN, like other methods of data erasure, is suitable for use prior to computer recycling for personal or commercial situations, such as donating or selling a computer[2]. In the case of malware infection, DBAN can be used before returning a disk to production.
第八种思路
现在,磁盘(gnome-disks
)工具具有ATA Secure Erase。您可以使用它来擦除硬盘。在this answer中使用命令行工具hdparm
说明了相同的选项。
-
打开磁盘工具→选择目标磁盘
-
从菜单:格式化磁盘…
-
从下拉框中选择,擦除:ATA增强安全擦除
-
格式
第九种思路
在这种情况下,还有另外一个优点:在我有一个错误的磁盘,我需要返回供应商进行交换。
dd在第一个坏块停止,并且没有打破其余的(除非我痛苦地使用skip = …在每次停止时向前跳)。
撕碎忽略写错误,并愉快地继续在这种情况下。