我很感兴趣删除文件时硬件(硬盘)会发生什么。
我的意思是,当用户决定从回收站中删除所有文件时,我正在寻找一些关于硬件过程的信息。
我对Windows操作系统感兴趣。我刚刚发现了这样的技术信息:数据擦除http://en.wikipedia.org/wiki/Data_erasure
如有任何疑问,请告诉我。
回收站与硬件无关。这只是一个特殊的文件夹。将文件/文件夹移动到回收站时。Windows只是调用ZwSetInformationFile来"重命名"它。正如您所知,当文件被打开时。你不能直接删除/删除它,但你可以重命名它。回收站是这样工作的。然后,当您尝试清空回收站时,它只会从文件系统中删除文件/文件夹。(实际上,它只是在文件系统中设置了一个文件的标志。数据并没有被直接擦除)。
仅此而已。
谢谢。
每个文件系统都有一种删除或释放文件的方法。磁盘上的扇区不会被擦除,最终它们可能会被重新用于其他文件,随着时间的推移,旧的、已删除的文件就不在了。
如果你阅读了链接页面的第一句话,你会看到"一种基于软件的方法",硬件对文件或文件系统一无所知——绝对不是具有回收站抽象的文件(目录条目只是移动到其他目录,文件进入回收站时既不移动也不删除)。硬件处理旋转电机、移动磁头、查找/读取/写入扇区。分区、文件、删除与否的概念都在软件领域,硬件不知道也不在乎。
你提到的那篇文章与媒体有关。想象一下用铅笔在纸上写一些东西,然后把它擦掉,再写一些别的东西。这两次纸都被铅笔压缩过,用正确的工具,你可能可以从纸上的压痕中找出部分或全部原文。你想卖掉、捐赠或扔掉一台电脑,你如何确保有人不会提取你的银行账户或其他敏感信息?在那张纸上,你可以把它烧了,然后把大块的灰烬碾碎(那时那张纸不能卖钱)。或者,你可以用一种非常混乱和随机的方式在你写的地方乱涂乱画,这样你的原始和第二次写作在纸上的凹痕就被噪音淹没了。除了随意涂鸦,你还可以写一些单词,真实的单词或字母,但没有任何敏感的东西,只是为了摆脱任何区分涂鸦和真实字母的尝试。硬盘硬件在这里没有做什么特别的事情——它旋转电机,移动磁头,寻找扇区并读取和写入它们,没有什么特别的。该软件正在做的是试图让那些看起来足够像真实信息的随机涂鸦在噪音中脱颖而出。你必须了解一些关于数据编码的信息,0x12345678值在存储在硬盘上时不使用这些位,以使读回更可靠——实际位被转换为不同的位,并在返回的过程中进行反向转换。所以你想知道,选择混乱的模式,当放在磁盘上时,实际上锻炼了磁盘上的所有点,而不是一些点,然后跳过其他点。理想情况下,会导致磁盘上的每个位置(因为没有更好的术语)多次同时写入1和0。
有趣的相关历史课,如果你能忍受的话。有这些东西叫软盘。http://en.wikipedia.org/wiki/Floppy_disk有很长的历史,但特别是在相同大小的磁盘中,密度发生了变化(这种情况再次发生不止一次)。旧技术尽其所能,用"比特"来划分行业,因为没有一个比它小的更好的术语。后来,技术进步了,可以放下不到一半大小的钻头。你可以把以前写的磁盘放在新的驱动器上读。您可以用新驱动器覆盖该磁盘上的文件,然后重新使用该磁盘(使用新驱动器)。你可以拿一个新磁盘,在新驱动器上写文件,在旧驱动器上读,但如果你拿一个旧磁盘,里面有旧驱动器写的文件,删除并覆盖新驱动器上的新文件,你就不一定能读到旧驱动器上的文件,旧驱动器可能真的看到了旧文件或新文件,或者什么都读不到。要将该磁盘从新驱动器重新使用到旧驱动器,您必须格式化旧驱动器上的磁盘,然后在新驱动器上写入文件,然后在旧驱动器上读取。。。为什么?在白板上用一英尺高的大写字母写一些单词。拿着橡皮擦,只擦出中间两英寸的路径,然后写一些两英寸高的单词。你能同时阅读吗?这取决于你写了什么,但通常情况下,是的,你可以。在一块干净的白板上,写两英寸的字母,你能读懂你写的字吗,是的。较新的驱动器总是有较小的焦点,当使用较旧、较小的大小格式化磁盘时,它们不会写入较大的胖位,而当在以较高密度格式化的磁盘上写入时,它们总是写入较小的位。当读取旧磁盘时,尽管尺寸很大,但他们读取的比特还是可以的,当擦除和重写就像白板上的大字母一样时,他们只擦除了中间的一条路径,并在那条小路上写入。新驱动器只能沿着狭窄的路径读取,只能读取两英寸的字母,根本看不到1英尺的大字母。旧的磁盘既能看到旧的一英尺字母,也能看到两英寸字母,根据哪一个占主导地位,它会读出来,或者经常读不出来。
这些磁盘擦除器想要做同样的事情,每次你旋转介质和移动磁头时,它并不完全完美,存在一些错误,你没有改变介质上完全相同分子组的电荷,每次你在路上行驶时有一点摆动。以一条路为例。道路上的车道比汽车宽,如果你第一次开车时用油漆刷了一条汽车的宽度,然后画了一条线,现在你想在这条线上画,这样就没有人能确定你最初的秘密颜色是什么。你需要多次驾驶这条路(不要作弊,你不能一次拥抱路的一边,另一次拥抱另一边,每次你都需要假装是硬件,尽你所能地始终靠近中间,因为硬件你不知道软件的目标是什么),让第一次通过时的位置错误被错误所掩盖在后一个通道中。您希望在每个通道上使用不同颜色的油漆,以便最终绘制条纹的边缘是彩虹色,从而无法判断哪种颜色是原始颜色。这里的相同之处在于,硬盘驱动器多次写入,每次写入都使用不断变化和不同的数据,直到原始写入的原始电荷即使在边缘也无法分离和解释。
请注意,基于固态闪存的驱动器工作方式不同,可能有一种写均衡方案来防止闪存的某些部分在其他部分之前磨损。你可能会得到同样的软件级解决方案(软件不一定知道它是ssd与机械驱动器),或者它可能不起作用,需要一个新的解决方案。ssd的问题是,它是基于闪存的,所以在你耗尽它之前,有有限的写入周期,用大量混乱的写入来冲击它,只会耗尽它。
这些与windows和回收站有什么关系,绝对没有,你把一些东西发送到回收站,这与把它复制到另一个目录没有太大区别,没有什么被破坏。当你删除文件时,大部分文件仍然完好无损地存在于目录条目上,也许还有某种文件分配表上,列出了未使用的可用扇区的东西被更改了,扇区本身不一定会更改,你的数据就在那里,对于拥有正确工具的人来说,读取你所有"已删除"的文件真的很容易(删除后不久)。
如果你不想让别人看到你的旧数据,请取出驱动器,打开并取出盘片,然后将其磨成灰尘。这是唯一有保证的销毁敏感信息的方法。
没有"硬件中的进程"。清空回收站只需执行一系列文件删除操作,这意味着将一些块标记为不再分配,并从目录中删除目录项。在硬件级别,这些只是普通的磁盘写入。数据没有以任何方式被破坏。有关更多详细信息,请查找您正在使用的文件系统(即NTFS)的引用。