我打算出售一个USB外部硬盘驱动器,该驱动器当前包含一个已安装的旧版Ubuntu,带有已存储的密码和银行信息。

在出售之前如何安全擦除该驱动器?

评论

另外,请查看此EFF页面以获取涵盖多个操作系统的全面说明。

@Lekensteyn'删除键位'?刚刚搜索非盟,却没有得到任何答案,但这只是部分相关的问答。我应该问这个新问题还是在这里讨论?

如果您有安全的密码短语,那么当您丢失驱动器时,世界不会丢失。但是,建议按照code.google.com/p/cryptsetup/wiki/…的5.3中所述清除键槽。继续询问有关擦除加密磁盘的问题。

#1 楼

安全擦除存储设备

有一个名为shred的命令行实用程序,该实用程序会用随机位覆盖文件或整个设备中的数据,几乎无法恢复。

首先,您需要标识设备的名称。

这可能类似于/dev/sdb/dev/hdb(但不类似于/dev/sdb1,它是一个分区)。您可以使用sudo fdisk -l列出所有已连接的存储设备,并在其中找到您的外部硬盘驱动器。

N.B.确保它是正确的设备,选择错误的设备会擦除它。

卸载该设备上当前已安装的所有分区(如果有)。
然后运行以下命令,将/dev/sdX替换为名称设备的状态:

sudo shred -v /dev/sdX


这将用随机数据覆盖设备上的所有块3次,-v标志表示详细信息,并显示当前进度。

您可以添加选项-n N仅执行N次,以节省大容量设备上的时间。这可能需要一些时间,具体取决于外部硬盘驱动器的大小(我的4 GB闪存驱动器大约需要20分钟)。

还可以将所有位设置为零。在最后一次迭代中,添加了选项-z,我更喜欢这样做。

sudo shred -v -n1 -z /dev/sdX


之后,您将不得不重新分区设备。最简单的方法是安装并使用GParted:

sudo apt-get install gparted
gksu gparted


在右上角的列表中选择设备。然后选择Device -> Create partition table在设备上创建分区表。

然后添加一个使用设备上所有未分配空间的分区,选择fat32作为文件系统。通过单击工具栏中的“应用”按钮(绿色复选标记)来应用更改。

提示


在线阅读shred的联机帮助页,或在终端。
请注意,不会擦除磁盘的某些部分-使用驱动器固件“ SECURE ERASE”命令(例如,通过hdparm)来正确清理磁盘。


评论


此处的最佳实践:断开所有硬盘驱动器,插入外部驱动器,然后对活动CD进行上述操作,以防止损坏任何重要的东西。

–尼克·帕斯库奇(Nick Pascucci)
2010-12-15 23:09

请注意,此错误已被要求驱动器自行擦除的SECURE ERASE方法所弃用。这应该处理所有可能的数据,并且不会不必要地给您的系统增加负担。您可以使用hdparm实用程序执行安全擦除,其中驱动器自行擦除。此方法尝试擦除整个驱动器,包括坏扇区。此外,它比覆盖常规方法快得多。这也是SSD驱动器的推荐方法,在这种情况下,切碎是一个非常糟糕的主意。

–马滕·博德威斯(Maarten Bodewes)
13年3月23日在23:24

@owlstead:您能详细说明吗?什么是安全擦除?如何使用它?如果您有一个更好的答案,请单独回答,我们将不胜感激。

– Mads Skjern
2014年10月24日在16:36

有关使用ATA Secure Erase命令的评论具有误导性。使用SE存在严重问题(关于缺少供应商的一致支持以及过程的透明性)。相关:security.stackexchange.com/questions/62253

– MV。
2015年1月26日在2:39



@Fiksdal我不知道,距离我写这个答案已经五年了,我不记得我用这种方式表达它的动机。话虽如此,我想我的意思是“在今天实际上是不可能的,但在技术上有足够的改进,在将来有可能”。

– Frxstrem
16-3-25在12:21

#2 楼

只需使用dd工具将其“归零”即可:


通过System > Administration > Disk Utility启动磁盘实用程序

在左侧面板中找到磁盘,将其选中,然后在右键找到设备路径(例如/dev/sdX
从gnome终端(应用程序>附件>终端)运行以下命令:sudo dd if=/dev/zero of=/dev/sdX bs=1M确保使用正确的设备路径,而不仅仅是复制此行! >
这将用零覆盖整个磁盘,并且比生成千兆字节的随机数据快得多。像所有其他工具一样,它也不会处理由于任何原因(写错误,保留等)而被映射的块,但是您的买方极不可能拥有从这些块中恢复任何东西的工具和知识。

PS:在您之前,布鲁斯·施耐尔(Bruce Schneier)的粉丝们对我表示不满:我想证明,有可能从已经被零覆盖的非古老的旋转硬盘驱动器中恢复数据。甚至不要考虑另外评论! :P

评论


布鲁斯·施耐尔(+1)和DD,这确实是一个出色的工具

–n3rd
2011年8月1日12:22

并不是说这是最强的“证明”,但存在Gutmann方法是有原因的。据我所知,如果硬盘被零覆盖,理论上现代硬盘仍然容易恢复其数据。不管它是否仍然成立,希望您可以承认使用/ dev / random或为此目的使用特定算法进行覆盖不会对它造成损害。

–塞林
2012年2月12日14:21



不,这不会造成伤害,只是会花费很多时间(尤其是如果您使用/ dev / random:P),并且收益可疑。我读过的有关该主题的最后一篇论文(对不起,没有细节,我想是2008年以来)建议-基于使用真实硬件进行的测试数据-恢复单个位的机会为<50%→意味着您获得了更低的使用抛硬币“恢复”每个位时的错误率。因此,除非有证据证明清零还不够(目前还不是“也许”,而是“没有节制的方式”),否则这是我选择的方法。

–扭矩
2012年2月13日下午5:37

@Cerin我的理解是,从来没有任何证据表明这些偏执的数据恢复幻想是可能的。正如您所链接文章的“批评”部分所指出的那样,古特曼本人对如何将他的算法“批评为驱除恶魔的一种伏都教咒语,而不是对驱动编码技术进行技术分析的结果”持批评态度。 。进行零擦拭驱动器以外的唯一原因是情感上的...即使您感觉更好...而不是技术上的。

–非理性的约翰
2012年5月3日18:22



很好,但是您能否请我解释一下为什么要输入bs = 1M参数?我能看懂这个人,而IIUC只是将缓冲区限制为1 MB。为什么这样做很可取?

–gaazkam
2015年9月9日下午7:34

#3 楼

看看安全堆栈交换上的这个权威问题

如何可靠地擦除硬盘驱动器上的所有信息

它讨论了各种安全删除选项,以及物理销毁和擦除,以便您可以决定哪个选项是最好的选择。

请记住,尽管不同存储的当前恢复状态如下:


很旧驱动器:磁道之间存在间隙,因此您可能会在这些间隙中吸收出血(如果您有扫描电子显微镜的话)。多次重写可能很有用。
新的硬盘驱动器:目前尚无技术可以在一次覆盖后读取。
固态硬盘驱动器:磨损平衡意味着您不能安全地覆盖。相反,您可以加密整个卷并丢弃密钥以擦除,或者销毁设备。


评论


e.g.的非常老的定义是什么。 30年前?

–有动力
18-12-31 at 22:05

是20-25年前的10Mb MFM驱动器,是的

–Rory Alsop
19年1月1日在14:58

这与手机和平板电脑等设备中的驱动器有什么关系?

–有动力
19年1月1日19:55

@Motivated鉴于手机和平板电脑使用闪存,它的答案可能与SSD的答案相同,但我不确定。您可以要求超级用户提供更好的信息。

– wjandrea
19年1月25日在23:44

#4 楼

我通常使用badblocks -w进行破坏性的读写测试。两个主要优点是:


它是基本系统的一部分,几乎是每个救援系统的一部分,因此可以使用。从Ubuntu安装程序的应急程序外壳中得到的结果
最后您会得到一个报告,指出磁盘上是否有坏块

,请注意,如果该报告表明存在问题,我将不再出售

还请注意:默认情况下,-w进行4遍破坏性写测试。


使用写模式测试。使用此选项,坏块通过在设备的每个块上写入一些模式(0xaa,0x55​​、0xff,0x00),读取每个块并比较内容来扫描坏块。


用法示例(如果您的磁盘是sdd):

sudo badblocks -wsv /dev/sdd


(为进度条添加了sv +详细)

为了更快地擦除,请添加-t选项并像这样进行一次零传递:

sudo badblocks -wsv -t 0x00 /dev/sdd


#5 楼

现在,磁盘(gnome-disks)工具具有ATA安全擦除功能。您可以使用它来擦除硬盘驱动器。使用命令行工具hdparm在此答案中说明了相同的选项。


“打开磁盘”工具→选择目标磁盘
从菜单:格式化磁盘...
从下拉框中选择“擦除”:ATA增强安全擦除
格式




评论


虽然通常这是最佳选择,但它不适用于USB(如上述问题所示)。 ata.wiki.kernel.org/index.php/ATA_Secure_Erase上有警告和免责声明。但是,我在Gnome问题中对此进行了询问。

–科兰
19年4月8日在19:06

@colan据我了解,这取决于整个堆栈中的功能支持(磁盘-内核-驱动程序-控制器-驱动器)。虽然我的情况适合两个硬盘(WD USB3硬盘和带有SATA-USB3有源适配器的WD),但我确认并非适用于所有情况,我已经看到一些具有硬编码块对齐方式的SATA-USB3适配器(读取512b) &4k块不会创建相同的映像),有些不支持SMART,后者也具有一些长的exec命令,某些USB驱动器对密码保护/加密的分区具有非标准化/扭曲的实现(通过另一个USB适配器使用它将打破它)

–user.dz
19年5月12日在3:40



#6 楼

最好是使用ATA驱动器的安全擦除功能。安全擦除会以固件级别擦除驱动器。无法获得更高的安全性。

首先检查是否支持安全擦除:

sudo hdparm -I /dev/sdX | grep -i security


(用sda / sdb / sdc替换sdX,无论您的磁盘是什么)。

如果看不到任何输出,请使用dd:

sudo dd if=/dev/zero of=/dev/sdX bs=1M


如果看到输出,请检查设备是否未冻结:

sudo hdparm -I /dev/sdX | grep -i frozen


如果未冻结,则将密码设置为“ Eins”:

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX


可选:您可能想知道这需要多长时间:

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'


然后执行擦除:

sudo hdparm --user-master u --security-erase Eins /dev/sdX


然后等等。显然,对于1TB的磁盘,这可能需要3个小时或更长时间。

有一个不错的脚本可以自动执行这些步骤。

#7 楼


您需要创建一个回送设备,该设备在驱动器的整个内容上运行/ dev / random。
这将使整个驱动器充满几乎完全随机的数据。然后,您可以使用dd将所有位设置回0。
实际上,dd应该可以随机化所有信息。

您说您已将银行信息存储在硬盘上。因此,我建议您从实时CD(其中hdX是您的硬盘)中运行以下任一命令。

dd if=/dev/zero of=/dev/hdX

dd if=/dev/random of=/dev/hdX

dd if=/dev/urandom of=/dev/hdX

但是,根据您的硬盘大小,这将花费很长时间。

有关您的信息:

请参阅以下链接,


在ubuntu Linux中安全删除文件的工具

使用Ubuntu Live CD安全擦除计算机的硬盘驱动器

注意:


随机使用随机位,零使用0位。
随机是随机的半随机版本。


评论


随机真的有必要吗?将所有位都替换为1,然后替换为0,还不够吗?

–巴克
15年8月14日在14:55

#8 楼

您可以使用擦拭

安装

sudo apt-get install wipe


您可以使用该软件或使用以下命令:

shred -vfz -n ? (drive)


是“?”是,输入您要切碎驱动器的次数,然后输入“(drive)”,则插入要切碎的驱动器。完成后,随心所欲。我认为这种方法更有效,因为您可以控制对驱动器所做的操作并立即获得结果。

链接



http:// wipe。 sourceforge.net/
http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-securely-wipe-your-pcs-hard-drive/
http://ubuntuforums.org/showthread.php?t=817882


评论


为什么要一个使用另一个,擦拭还是切碎?

– Mads Skjern
14-10-24在16:33

#9 楼

您可以使用DBAN。维基百科:


达里克的靴子和核弹(通常称为DBAN)[...]旨在安全地擦除硬盘,直到数据被清除。
/>永久删除,并且不再可恢复,这是通过
用梅森捻线器或ISAAC(PRNG)生成的随机
数字覆盖数据来实现的。还包括了Gutmann方法,
快速擦除,DoD短(3遍)和
DOD 5220.22-M(7遍)作为处理数据遗留的选项。
br />
DBAN可以从软盘,CD,DVD或USB闪存驱动器引导,并且它是基于Linux的。它支持PATA
(IDE),SCSI和SATA硬盘驱动器。可以将DBAN
配置为自动擦除
在系统上看到的每个硬盘,这对于
无人值守的数据销毁方案非常有用。英特尔x86和PowerPC
系统。

DBAN与其他数据擦除方法一样,适合在
回收个人或计算机回收之前使用。商业情况,例如捐赠或出售计算机[2]。在发生恶意软件感染的情况下,可以在将磁盘返回生产之前使用DBAN



#10 楼

在这种情况下,通过dd进行粉碎的另一个优势是:
我有一个故障磁盘,需要返回给供应商进行交换。


切细会忽略写入错误,在这种情况下会很高兴地继续。

#11 楼

扎根,

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)


请确保您拥有正确的驱动器!

评论


切勿将/ dev / random用于此类操作。 / dev / random使用熵池生成随机数据,并在此熵池为空时阻止操作。因此,如果您不对计算机进行任何操作以产生新的随机性,则该操作将永远花费。请改用/ dev / urandom。也看到男人随机

–扭矩
2010-12-15 22:06



您可能需要在命令前加上sudo前缀。此外,当使用的块大小大于默认大小时,dd倾向于更快地完成。所以我会建议非常谨慎地使用:sudo dd if = / dev / random bs = 1m of = / dev / sdX

–非理性的约翰
2012年5月3日18:07

啊,这意味着要是sudo dd if = / dev / urandom bs = 1m of = / dev / sdX哦,很好。

–非理性的约翰
2012年5月3日在18:29

#12 楼

DBAN是用于擦除硬盘的开源启动CD。



http://www.dban.org/download


下载>刻录它,然后从CD引导机器。

评论


已建议:askubuntu.com/a/51979/8530

–马修·雷德(Matthew Read)
15年6月18日在13:26

#13 楼

那些建议使用切丝的建议不正确。 Shred自己的手册页说它在日志文件系统上实际上是无用的,如果您不更改其文件系统默认值(ext3和ext4已记录日志),几乎可以保证Ubuntu会使用它。resierfs和Reiser4以及许多其他常见的Linux文件系统也是如此。 。)。

更不用说切碎对于完全清空或随机化磁盘完全没有用,因为它仅适用于单个文件或文件集(在文件系统级别,而不是原始数据级别。) 。如果要安全擦除磁盘,则必须在驱动器的主设备节点上使用dd(例如:/ dev / sdc而不是/ dev / sdc1),而无需安装任何磁盘。

这将花费一些时间,但与粉碎不同,它将完全不可逆地将硬盘从MBR擦除到最终扇区。另外,请在dd上使用BIG WARNING,确保在正确的设备上使用它,或者至少要部分擦除错误的磁盘。如果您不小心在系统驱动器上使用dd,这可能是灾难性的,这不仅会使它无法启动,而且可能不可逆地损坏驱动器上的任何给定分区。这给它起了“磁盘破坏者”的绰号。

Shred并不是可靠擦拭驱动器的可靠工具。如果您要出售或放弃计算机,则清空驱动器的正确方法是将其置零或使用dd对其进行随机化,并且永远不要使用粉碎,因为文件系统日志将毫不费力地有效还原粉碎的文件。

评论


您不要指向文件碎片。您将其指向整个设备。文件系统无关。

–David Given
2014年1月29日14:42

@DavidGiven从技术上讲,您可以只粉碎文件系统中的一个文件,而这正是切碎的联机帮助页所谈论的。在这种情况下,Yaro的警告将是有效的。但是,是的,切碎整个分区是完全不同的事情。在那种情况下,文件系统确实没有关系。

–阿洛瓦·马哈德(Alois Mahdal)
16-10-11在19:55

#14 楼

最简单的方法是使用:

sudo shred -fv /dev/xxx


xxx是设备,要确保您拥有什么设备,请键入:

sudo fdisk -l


设备将在磁盘字后并以冒号char:表示,如下所示:

Disk /dev/sde: 500.1 GB etc...


不要挂载磁盘文件系统想要擦拭等。
碎纸机将在部分时间内完成您想要的操作。 -z选项用于最后一次运行,其值为0以隐藏擦除,而不必擦除数据。

最好的方法是使用dd,就像以前的用户一样:

sudo dd if=/dev/urandom of=/dev/xxx bs=1M


使用urandom设备,因为它是获取随机图案的更现代且更好的方法。

此刻的其他工具可能会更旧,开发的人更少。 Shred在Linux的核心应用程序中。

看看这个例子:擦除2009 http://lambda-diode.com/software/wipe/。但是它是众所周知的应用程序。
可以使用bleachbit,但是由于我尝试了很长时间,所以

#15 楼

如果dd cmd无法正常工作,则可以使用重定向方法清除数据。

,例如,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 




或者,您也可以使用cp(复制cmd)覆盖以前的数据。

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 


#16 楼

使用nwipe,它是命令行或ncurses GUI。有多种擦拭方法。可以同时擦拭许多设备。它是DBAN的最新版本,目前正在维护中。 Nwipe可以在大多数Linux发行版中找到,并且可以作为可启动的USB版本称为Shredos
Nwipe https://github.com/martijnvanbrummelen/nwipe
Shredos https://github.com/PartialVolume/shredos .2020.02