从回收站中删除数据后,会发生什么?


48

如果我在这里错了,请纠正我,但是当您从PC中“删除”某些东西时,您的计算机所要做的就是用0代替1来写一些二进制文件。(或具有某种意义的东西)因此,当您将某些内容发送到回收站时,它会覆盖文件的一部分,而当您从回收站中删除时,它会写入更多文件?


11
从安全角度而言,根据覆盖范围,可以部分或全部恢复通常删除的文件。如果您需要擦除文件数据以使其无法恢复,则需要使用第三方工具“安全删除”文件和/或“安全擦除”磁盘可用空间。这涉及在空间上一次或多次写入零或随机数据,这很耗时(这就是为什么普通删除不这样做的原因)。
ADTC 2014年

@JaDogg是什么意思?
Paracosmiste 2014年

@JaDogg大多数0/1是什么?A / F?不确定,有点生锈。但这一切都与网络有关。无论如何,大多数。我是新来的,因此我无法对其他发表评论的人发表评论,因为我没有见过其他人,但我对此并不怀疑。
Shea A.

你错了。当您“删除”某物时,Windows 会将其移到回收站,基本上,这只是一个特殊的文件夹。即使从回收站中删除某些内容,通常也不会立即将其覆盖。(但是块可以自由分配给其他文件,然后可以覆盖数据。)
G-Man说'Reinstate Monica'

@ADTC,这只是正常写,不是吗?那么,为什么需要第三方程序?如果我在删除之前000000000000random_garbage_data_repeat_random_garbage_dat删除之前重新保存文件,那会不会有相同的效果?
Pacerier

Answers:


86

两种操作都不会覆盖文件。

将文件移动到回收站就是这样–移动文件,并且当新文件夹位于同一磁盘上时,它与任何其他“移动”操作相同:文件名条目从其原始文件夹移动到另一个文件夹,但是该文件的内容仍在磁盘上,并且没有进行物理移动,修改甚至查看。

从回收站中删除文件(或使用Shift+ 直接Delete删除文件)将从其文件夹中删除文件名条目。先前由文件占用的磁盘部分仍未被修改或覆盖,仍然包含所有文件数据,但是该数据不再链接到文件名。磁盘上的该位置记录为“空闲”,因此,将来对磁盘的写操作可以重用该空间,如果继续使用磁盘,则几乎可以肯定会最终覆盖该空间。

如果您需要防止恢复已删除的数据,则存在专用工具来安全地覆盖数据。默认情况下不会执行此操作,因为它速度慢并且会增加磁盘的磨损。


33
为了扩展“移动文件”位,回收站只是Windows以特殊方式向您显示的硬盘驱动器上的普通文件夹。
标记

9
我相信@Mark不太正确-每个驱动器上都有一个“回收站”文件夹(是.$TRASHES吗?不记得了),Windows在您打开回收站时会将它们全部合并。因此,您的C:和E:都有一个文件夹,因为Windows不想在删除它时复制所有内容(这很重要!)。
2014年

7
Windows Vista,7和8(和8.1)使用$RECYCLE.BIN。@Riking您正在考虑Nautilus for Linux;它使用.Trashes
科尔·约翰逊

3
尽管它取决于文件系统,但删除文件后通常不会从文件夹中删除文件名。例如,在FAT / FAT32中,如果不进行重用以前使用的群集链的写操作,则仅将Dirent文件名中的第一个字符替换为0xE0字节,从而使整个文件(包括名称的第一个字符除外)可以完全恢复。分配给已删除的文件。
安迪·布朗

6
@Yaitzme移动文件通常不会移动文件的内容。如果源和目标位于同一分区上,则仅移动文件名(即,将指向文件的指针添加到新目录,并从旧目录删除)。数据可以保留在同一位置。仅当跨分区移动文件时,才需要复制所有内容。
阿蒙2014年

36

文件分为两部分:

  1. 目录条目,它记录文件名,还包含磁盘上包含文件数据内容的块的列表。然后,操作系统“知道”这些块正在使用中。
  2. 包含文件数据内容的实际块

删除文件后:

  1. 目录条目中的块列表将返回标记为空闲的操作系统。目录条目被删除,因此文件从文件系统中“消失”。
  2. 实际的块不会被触及,因此文件的数据内容将保持不变,直到其他新文件覆盖它们为止。这就是文件恢复软件通常可以重建已删除文件的原因(但前提是仅在删除后不久使用)。

10

您需要弄清楚是否要询问物理驱动器或软件级别发生了什么。

在物理方面,这取决于驱动器:

  • 在磁性驱动器上,覆盖位或写入位是相同的操作,因此文件通常不会被物理删除(操作系统只是更改分区目录并将空间标记为空闲)。

  • 在SSD驱动器上,无法覆盖现有数据,因此通常会物理删除文件(请参阅http://en.wikipedia.org/wiki/Trim_(computing)

在软件上,取决于您使用的文件系统,在大多数情况下,仅更改分区的目录。


4
“移至回收站将移动文件。” 并不是的。文件本身不会移动;它仍然像以前一样占用磁盘上的LBA。即使文件记录是相同的。唯一被“移动”的是目录条目,从文件的原始目录到“回收站”的目录。
Jamie Hanrahan 2014年

关于SSD的事情我没想到。我以为SSD中的所有写入操作都会造成磨损。修整不会造成磨损吗?您可能要提到的不是OS主动在空间上写入零,而是只是发送修整命令到SSD,这反过来又从保存文件的扇区中清除了数据。
ADTC 2014年

我想说的是,但没有花时间解释的是,在问这类问题时,您确实需要将其范围缩小到软件或硬件方面。“文件”,“文件夹”,“分区”,“目录”等都是软件概念。在硬件方面,它更像是“在地址0x2384923上读取80个字节,在地址0x123123上写入24个字节”或“在地址0x82478923上修剪292个字节”
Eloims 2014年

6
AFAIK,Trim命令不会物理删除文件(如ADTC所述,这将是一项昂贵的操作。它只是让驱动器的固件知道它不再需要保留数据了。因此,从概念上讲,这与删除文件非常相似发生在文件系统上,仅在固件级别上
oefe

2
当空白页数足够少时,SSD将搜索一个仅包含“过时”页的块。如果找到这样的块,它将被删除。否则,它将找到包含最过时页面的块,将非过时页面复制到剩余的空白页面,并将页面标记为过时。对页面上的所有块完成此操作后,该页面将不再包含任何非过时的块,因此可以被回收。请注意,如果文件系统认为页面无用,但驱动器不知道该页面,则复制无用数据可能会浪费时间。
超级猫
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.