此答案适用于 NTFS

此答案适用于 NTFS

那么,该条目会保留在那里吗,就像您按 Shift+Delete 一样,还是会被永久删除?

请注意,这不是我之前问题的重复,我只是没能将两者整合在一起。我认为这两个问题是分开的。

Ext4 和 NTFS。“其他地方”位于同一文件系统中,但我也很好奇如果我将其移动到另一个文件系统(即在 Ext4 和 NTFS 之间来回移动)会发生什么。

答案1

在 NTFS 和 EXT4 中,文件不会被立即删除。

将它们从一个位置移动到另一个位置不会改变文件的物理位置,只会改变指向该文件的指针。

至于删除,在绕过回收站时,指向文件的指针会被删除。这会将空间标记为可用,但该文件的原始数据仍保留在原处,直到被覆盖。这就是数据恢复工具能够恢复已删除文件的方式。它们查看可用空间并尝试检测其中的数据是否是文件。

答案2

此答案适用于 NTFS

原始文件的条目还会保留在那里吗?

是的MFT 条目的文件(没有“原始”和“副本”)保留在那里。操作系统只需要:

  • 更新 MFT 条目中的父 id
  • 从旧父目录的子目录中删除该元素
  • 将元素添加到新父目录的子目录中

目录的每个 MFT 条目都有一个$INDEX_ROOT列出几个子项的属性,而其余的则保存在其他地方(这个位置通过具有一个或多个$INDEX_ALLOCATION属性来定位)。

当操作系统在同一个文件系统内移动文件时,这些“子列表”(虽然从技术上讲它们是B+ 树) 已更新。

注意也许可以雕刻残留的条目来自索引记录的松弛空间。

我也很好奇如果我将它移动到另一个文件系统会发生什么

将文件移动到不同的文件系统将被视为:

  • 复制到新文件系统
  • 立即从原始文件系统中删除该文件

在这种情况下,MFT 条目也保留,但被标记为已删除。当创建新文件并需要额外的 MFT 条目时,可以覆盖该条目。

相关内容