擦除Linux笔记本电脑


29

我有一台带Debian的笔记本电脑,我打算出售这台笔记本电脑。

在出售Debian安装程序以完全清除我的个人数据中的笔记本电脑之前,删除Debian安装程序是否足够?如果是,如何卸载Debian(这样笔记本电脑上没有任何操作系统)?


22
dd if=/dev/random of=/dev/sda bs=4096
Rui F Ribeiro

38
@RuiFRibeiro /dev/random完全不需要使用。/dev/urandom完全足够,并且不会阻塞,甚至/dev/zero几乎可以肯定会很好。另外,请使用更大的块大小。我建议数量级为几兆字节。这将使存储子系统可以执行正确的I / O排队。
CVn

9
SSD安全擦除使用hdparm。无需使用dd手动擦除,您可以告诉驱动器自行删除。
CijcoSistems

4
@CijcoSistems假设您信任驱动器对ATA SECURE ERASE命令的实现。
CVn

6
未来的想法-一种从系统“擦除”数据的非常有效和安全的方法是将任何分区写入数据之前对其进行加密。然后,当您要擦除系统时,您要做的就是覆盖存储加密密钥的块。LUKS使这个过程非常容易,并且Debian在标准安装中支持它。如果计算机被盗,加密还可以保护您的数据。

Answers:


49

此nixCraft帖子介绍了如何擦除硬盘

安全删除数据并不像您想的那样容易。当您使用操作系统的默认命令删除文件(例如Linux / BSD / MacOS / UNIX中的“ rm”或DOS中的“ del”或清空WINDOWS中的回收站)时,操作系统不会删除该文件,文件的内容仍保留在硬盘上。几乎不可能恢复敏感数据的唯一方法是用几种定义的模式覆盖(“擦除”或“切碎”)数据。要永久擦除硬盘,可以使用标准的dd命令。但是,我建议使用shred命令或擦拭命令或擦洗命令。

警告:检查是否已确定正确的驱动器或分区。错误的驱动器或分区目标将导致数据丢失。在任何情况下,我们都无法协助您赔偿全部或部分数据丢失,因此请谨慎使用磁盘名称。你被警告了!

使用实时Linux CD永久擦除磁盘

首先,下载knoppix Live Linux CD或SystemRescueCd live CD。

接下来,刻录现场CD,然后从现场CD引导笔记本电脑或台式机。现在,您可以擦除任何磁盘,包括Windows,Linux,Mac OS X或类似Unix的系统。

1.如何使用shred命令?

切碎最初旨在安全删除文件。它安全地删除文件,首先将其覆盖以隐藏其内容。但是,可以使用相同的命令来擦除硬盘。例如,如果您的硬盘驱动器名为/ dev / sda,则键入以下命令:

# shred -n 5 -vz /dev/sda

哪里,

-n 5: Overwrite 5 times instead of the default (25 times).
-v : Show progress.
-z : Add a final overwrite with zeros to hide shredding.

该命令对于IDE硬盘hda(连接到IDE的PC / Windows第一个硬盘)相同:

# shred -n 5 -vz /dev/hda

注意:@Gilles的注释
将shred -n 5替换为shred -n 1或cat / dev / zero。除非您的硬盘使用1980年代技术,否则多次传递不会有用。

在此示例中,将shred和/ dev / urandom用作随机数据的源:

# shred -v --random-source=/dev/urandom -n1 /dev/DISK/TO/DELETE
# shred -v --random-source=/dev/urandom -n1 /dev/sda

2.如何使用擦拭命令

您可以使用擦拭命令删除任何文件,包括磁盘:

# wipe -D /path/to/file.doc

3.如何使用scrub命令

您可以使用磁盘清理程序,例如scrub。它会以重复模式覆盖硬盘,文件和其他设备,从而使从这些设备恢复数据更加困难。尽管毫无疑问,物理破坏是破坏敏感数据的最可靠方法,但它不方便且成本很高。对于某些类别的数据,组织可能愿意做下一件最好的事情,即对所有字节进行乱写,直到需要实验室进行英勇的工作才能进行检索。清理程序实现了几种不同的算法。语法为:

# scrub -p nnsa|dod|bsi|old|fastold|gutmann|random|random2 fileNameHere

要擦除/ dev / sda,请输入:

# scrub -p dod /dev/sda

4.使用dd命令安全擦除磁盘

您可以通过在每个位上写入新数据来擦除磁盘。dd命令的用法如下:

# dd if=/dev/urandom of=/dev/DISK/TO/WIPE bs=4096

擦拭/ dev / sda磁盘,输入:

# dd if=/dev/urandom of=/dev/sda bs=4096

5.如何使用来自OpenSSL的随机种子AES密码安全擦除驱动器/分区?

您也可以使用openssl和pv命令安全地擦除磁盘。首先,获取/ dev / sda磁盘总大小(以字节为单位):

# blockdev --getsize64 /dev/sda
399717171200

接下来,键入以下命令以擦除/ dev / sda磁盘:

# openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt </dev/zero | pv -bartpes

399717171200 | dd bs = 64K of // dev / sda

6.如何使用badblocks命令安全擦除磁盘

语法为:

# badblocks -c BLOCK_SIZE_HERE -wsvf /dev/DISK/TO/WIPE
# badblocks -wsvf /dev/DISK/TO/WIPE
# badblocks -wsvf /dev/sda

23
并且要非常非常小心这一点。除非您拥有绝对可靠的备份,否则您将无可挽回。
CVn

5
@MichaelKjörling:这就是重点!带有--undo标志的任何工具都不适合该任务。
MSalters

23
着火时要非常小心-您可能无家可归。
gerrit

3
这些解决方案需要引导操作系统并从操作系统下擦除驱动器。这可能在擦拭过程中引起内核恐慌,从而使笔记本电脑部分未擦拭。正确的解决方案是从外部介质unix.stackexchange.com/a/371029/69068
rrauenza

3
有关以下内容的详细信息 shred:擦除整个分区没有问题,但是它不能用于位于日志文件系统上的单个文件,该日志文件系统还会记录数据和btrfs之类的Cow文件系统,因为切碎只会覆盖副本而不是原始数据。另外,我第二个@RuiFRibeiro-在擦除过程中,Linux系统不太可能必须从磁盘加载模块或驱动程序。

17

从USB / CD引导笔记本电脑并使用DBAN:https://dban.org/

问候。


8
并且要非常非常小心这一点。除非您拥有绝对可靠的备份,否则您将无可挽回。
CVn

1
这是正确的方法-从外部媒体启动。尝试从其下方擦除操作系统可能会因内核崩溃而使磁盘部分未擦除。
rrauenza

(当然,如果发生这种情况,您可以去DBAN来完成工作。)
rrauenza

@MichaelKjörling我看不到这些评论的意义。“除非您拥有绝对可靠的备份”,那是什么样的假设?每个人都应该对任何重要信息进行每日备份(理想情况下,至少有两个备份位于异地)。(在大多数情况下,版本控制系统可以轻松地完成此工作。)当然,提醒人们经常需要备份也
无济于事

1
@leftaroundabout您从未签出我们的数据恢复标签,对吗?(超级用户有一个对应的用户,它被大量使用。)是的,应该进行备份;自动,定期并具有异地存储并经过测试。(未经测试的备份比没有价值的备份更糟糕。)但是,人们并没有这么做,这可能是出于人们将自己的门解锁的原因大致相同的原因:“这不会发生在我身上”的心态。在大多数情况下,恢复是可行的。但实际上要覆盖存储介质上的所有内容时,恢复几乎是不可能的。
CVn

13

我将建议考虑使用一种替代方法来擦拭驱动器。

擦拭驱动器很危险,因为您可能会永久丢失数据。此外,根据您对某人获取数据的担心程度,可能很难确保某些驱动器是真正不可恢复的(例如,具有内部机制分散写操作的SSD)。

一种简单而有效的解决方案是用新驱动器替换驱动器。自行保存驱动器,然后您甚至不必担心它(除非有人闯入您的房屋或与其相连的计算机受到损害)。这是否值得您花钱,这只能由您确定,但是麻烦就少得多。作为奖励,现在您自己拥有更多的动力。通过权衡成本与希望防御的攻击风险来做出决定。


如果您有较小或更旧的驱动器,并且想趁机拥有新的更大的固态驱动器,这也是一个很好的解决方案。非常适合台式机。对于笔记本电脑,这取决于更换的难易程度。同样,在实际尝试之前,请先查找u-tube视频并观看。
Michael Durrant

2
@ThorbjørnRavnAndersen我已经考虑过了。这是考虑权衡成本的一个因素。但是,它可以保证有效,这对于OP可能更有价值。
jpmc26 2015年

出售驱动器有其弊端和优势。一方面,执行备份可能会犯错误。另一方面,它们会老化,亲爱的价值会迅速下降。只要多花一点钱,您就可以拥有更大,通常更快的外部驱动器。
Rui F Ribeiro

10

我建议使用以下方法清理磁盘:

sudo dd if=/dev/urandom of=/dev/sda bs=4M oflag=direct

我建议/dev/urandom不要/dev/zero使用SSD驱动器。您可以/dev/zero在机械磁盘中使用,但是据推测,使用随机值也可以给高级恢复的可能操作增加更多的噪音(不太可能发生,但必须说)。

dd 比这里提出的替代方案(养猫)更高效(更快捷)。

此外,此方法不需要您从其他媒体启动,并且dd默认情况下在Linux中存在。

另外,请注意如何使用此命令,因为无法从中恢复。请注意,请仔细检查该设备是否是目标设备(甚至断开所有外部备份驱动器),因为很容易错误地彻底清除错误的设备。


1
不要使用垃圾清除有用的缓存,我建议使用oflag = direct。
Ayhan

1
/dev/urandom非常缓慢的,在决定使用之前,我会建议人们了解古特曼方法
hschou

@hschou您提供给我们的链接说该方法已过时。
Rui F Ribeiro

@RuiFRibeiro已过时:/ dev / urandom也是如此。在使用/ dev / urandom之前,必须了解擦除数据的含义。如果有人拥有需要/ dev / urandom的数据,我建议他们破坏磁盘。
hschou

3
/dev/urandom是非阻塞的。它比某些PRNG慢,但是绝对不是“ 非常慢”。也许您在想/dev/random
dn3s

8

以root身份登录:

cat /dev/zero > /dev/sda

无需对硬盘进行多次以上的操作。如果您有旧的8英寸软盘,则最好擦除几次。


5
并且要非常非常小心这一点。除非您拥有绝对可靠的备份,否则您将无可挽回。
CVn

3
dd应该比cat快
Rui F Ribeiro


@gardenhead hmmm也许以后我也会尝试一些测试。变量太多了。但是,该帖子似乎正在谈论要擦除2GB的区域;我想清洁100倍的尺寸会扩大差异。稍后将需要更多时间来查看它,谢谢您的指导。
Rui F Ribeiro

1
@RuiFRibeiro ddbs=1M相比快15%cat。跟bs=1K速度是一样的。结论:如果dd已安装,请使用它。
hschou

3

如果您碰巧有一个自我加密驱动器(大多数现代HDD和几乎所有SSD都是SED),并且驱动器上没有价值10000美元的高级数据恢复服务的设备,则可以使用安全磁盘擦除

整个磁盘擦除非常快,对于SED来说非常简单。简单地传递加密磁盘擦除(或加密擦除)命令(在提供正确的身份验证凭据之后)将使驱动器在内部自行生成新的随机加密密钥(DEK)。这将永久丢弃旧密钥,从而使加密数据不可撤销地不可解密。

详细描述该过程。通常,您只需要运行两个命令:

hdparm --user-master u --security-set-pass your_password /dev/X
hdparm --user-master u --security-erase your_password /dev/X

当然,由于HDD制造商倾向于跟踪在哪个HDD上使用了哪个密钥,因此数据恢复仍然可能进行,这意味着他们也将能够还原它。他们只倾向于为那些带有几笔$ 10000或法院命令的人这样做,因此,如果该HDD上最敏感的信息是您的facebook密码,没有人会打扰。

如果您在该驱动器上确实有敏感信息,我会遵循@ jpmc26的建议,只为自己保留该驱动器。这是100%安全的,几乎没有机会在此过程中弄砸某些东西。


2

您可以使用该secure-delete工具,该工具提供4个有用的命令来擦除硬盘。

man srm

旨在以安全的方式删除媒体上的数据,这些信息无法被小偷,执法或其他威胁所恢复。擦除算法基于在领先的民用密码学家之一彼得·古特曼(Peter Gutmann)于第六届Usenix安全研讨会上发表的论文“从磁性和固态存储器中安全删除数据”。

清洁磁盘驱动器

每个拥有计算机的人都将有一天需要处理磁盘驱动器。在执行此操作之前,最好清洁驱动器,以使没人能读取您的敏感信息。删除文件并重新格式化是不够的;坚决的努力仍然可以揭示驱动器中的数据,即使这些数据似乎不见了。为了做得更彻底,我建议使用擦拭。

secure-delete选项:

srm is used for deleting files and directories.
smem wipes memory space.
sfill cleanses the free space on a drive.
sswap cleans swap spaces.

请注意,没有提供用于擦拭硬盘的所有工具,某些取证工具可以恢复硬盘数据的一部分(邮件,URL,照片...)。


3
Gutmann的论文“从磁和固态存储器中安全删除数据” 已有21年的历史了。是的,这是正确的; 它于1996年7月提出,它讨论了1990年代上半年通用的硬件和数据编码方法。今天引用它的任何软件,也许都不应该被彻底抛弃,而绝对应该带着少量的盐来服用。甚至Gutmann本人也指出,对于“现代”媒体(指的是大小约为200GB的HDD),用随机数据进行覆盖就足够了。今天几乎不可能采购200 GB的HDD。
CVn

0

如果您有HDD,则可以“硬件方式”进行操作-只需将一个间隙足够用于驱动器的电感器插入驱动器中,然后将其插入AC并将驱动器穿过该间隙。请记住,它还会破坏某种硬盘驱动器,并且您需要专业帮助才能使硬盘驱动器再次运行。

您可以在Wikipedia上阅读有关它的更多信息。甚至有些公司可以为您消磁HDD。如果您想确定-销毁已消磁的驱动器是NSA唯一批准的销毁硬盘的方法。

但是,最简单的方法就是用零覆盖整个驱动器。


1
OP希望出售笔记本电脑...我认为硬盘可以正常工作。
Calimo

这称为消磁,对HDD具有破坏性。如果OP不想出售驱动器,则将其自己保留而不是销毁是更有意义的。
德米特里·格里戈里耶夫

0

如果您的笔记本电脑从一开始就使用了整个磁盘加密,那么只需进行简单的擦除就可以了!


4
这并不能真正回答问题。“简单擦除”是一个很好的解决方案,但理想情况下,答案应包含有关如何执行此操作的信息。我们还不知道磁盘是否已加密。
库桑兰达

0

多遍覆盖的必要性已在35年前生效,但25至30年已经过时了。

http://www.infosecisland.com/blogview/16130-The-Urban-Legend-of-Multipass-Hard-Disk-Overwrite.html

幸运的是,几位安全研究人员在第四届信息系统安全国际会议(ICISS 2008)上发表了一篇论文[WRIG08],该论文宣告了“要解决多少次覆盖各种数据值的覆盖问题”的争议:他们的研究表明即使使用MFM和STM技术,使用任意数据值进行的一次覆盖也将使原始数据不可检索。

研究人员发现,从以前使用的HDD中恢复单个位的可能性仅比抛硬币好一点,并且恢复更多位的可能性呈指数下降,因此迅速变为零。

因此,用任意值(无论是否随机选择)进行一次覆盖都足以使原始HDD数据有效地不可恢复。

[WRIG08]克雷格·赖特;戴夫·克莱曼;RS Shyaam Sundhar(2008年12月)。“覆盖硬盘数据:巨大的争议”,计算机科学讲座(Springer Berlin / Heidelberg);ISBN 978-3-540-89861-0(http://www.springerlink.com/content/408263ql11460147/)。有些页面可在Google图书中预览。

因此,这就是您所需要的:

sudo dd if=/dev/zero of=/dev/sda bs=4M oflag=direct

-1

最好的办法是将一些随机数据或仅将空数据复制到安装操作系统的驱动器上。如果它已安装在sda上,则可以执行dd if=/dev/zero of=/dev/sda bs=xxx count=1。而不是xxx您想要查找磁盘的大小,或者dd if=/dev/null of=/dev/sda。我个人更喜欢这个。


哎呀对不起,你是对的..做猫的/ dev / null> / dev / sda上,而不是..不错抓:)
铝123

-3

如果要完全破坏操作系统及其上的所有内容,可以使用:

sudo chmod -r 755 /  

我曾经偶然地这样做,它破坏了我的操作系统。我的操作系统立即被销毁,无法再启动它。我不得不从光盘启动新的操作系统。我不知道这是怎么回事。我也听说过:

sudo chmod -r 000 /  

通过删除对硬盘驱动器的所有权限可以运行该功能,但是我不知道为什么另一个可以运行,也许这个可以这样运行。
我无法取回任何文件。为了安全起见,您可能想在被破坏的操作系统之上启动新的操作系统,但是即使使用实时USB或另一台计算机,我也不认为这些文件是可恢复的。当我运行上述命令时,随机数开始在屏幕上滚动(不知道为什么),然后在按下电源按钮强制关机后,我的计算机根本无法启动(BIOS就是这样)。


2
无法启动!=无法访问文件。您可以引导至实时USB,或将磁盘连接至另一台笔记本电脑/ PC。
muru

但是,如果您通过它启动了另一个操作系统,那么它实际上已经消失了,我是否正确。对于我的计算机,从光盘启动新的操作系统后,找不到任何文件。我说的是实用的,因为我不知道是否有某种方法可以从被破坏和覆盖的操作系统中恢复文件。我从一个运行良好的Windows操作系统中找到了很好的文件,并在其上启动了新的操作系统,但是当我说此命令破坏了我的操作系统时,我的意思是随机数开始在屏幕上滚动。我只是从经验上讲。@muru
Nathan Hill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.