Вопрос: Если вы вырезаете и вставляете файл в другое место, останется ли запись в исходный файл?


Итак, будет ли запись оставаться там, как если бы вы Shift + Deleted или ее окончательно удалили?

Обратите внимание, что это не дубликат моего предыдущего вопроса, мне просто не удалось интегрировать эти два. Я рассматриваю эти два вопроса отдельно.

Ext4 и NTFS. «Где-то еще» находится в одной файловой системе, но мне также интересно, что произойдет, если я переведу его в другую файловую систему, то есть перемещение между Ext4 и NTFS вперед и назад.


0
2018-01-24 05:36


Источник




Ответы:


В NTFS и EXT4 файлы не удаляются немедленно.

Перемещение их из одного места в другое не изменяет физическое местоположение файла, а только указатель на этот файл.

Что касается удаления, то при обходе корзины указатель на файл удаляется. Это обозначает свободное пространство, однако исходные данные этого файла остаются там, где они были, пока они не будут перезаписаны. Вот как инструменты восстановления данных могут восстанавливать удаленные файлы. Они просматривают свободное пространство и пытаются определить, есть ли в нем файл.


2
2018-01-24 07:04



Итак, это как если бы я удалил их с помощью Shift + Delete? - shadowwar
@shadowwar да. Al, который делает обход корзины. - Keltari
Это не совсем связано, так как же файл не занимает пространство, если он удален и отображается как «свободное пространство»? - shadowwar
@shadowwar Когда вы удаляете файл в ОС, данные по-прежнему физически находятся на диске (до тех пор, пока они не будут перезаписаны чем-то другим). Удаление просто удаляет ссылку на файл из таблицы основных файлов. Таким образом, с точки зрения ОС файл больше не существует (поскольку он не упоминается в MFT) и является свободным местом, которое будет использоваться для других файлов. На самом деле постоянно удалите файл, который вам нужен, чтобы использовать какой-либо инструмент, который записывает все свободное пространство на диске, тем самым фактически стирая физические данные с диска. - Chro
«указатель на файл удален». Для NTFS это верно для индексной записи (обычно), но не для записи MFT. @Chro "удаляет ссылку на файл из таблицы основных файлов", если по ссылке "вы имеете в виду запись MFT, это неверно. - Andrea Lazzarotto


Этот ответ относится к NTFS

останется ли запись в исходный файл?

Да. Вход MFT файла (нет «оригинала» и «копии») остается там. ОС должна только:

  • обновить родительский идентификатор в записи MFT
  • удалить элемент из дочерних элементов старого родительского каталога
  • добавьте элемент в дочерние элементы нового родительского каталога

Каждая запись в MFT каталога имеет $INDEX_ROOT атрибут, который перечисляет несколько детей, в то время как остальные сохраняются где-то в другом месте (это где-то находится, имея один или несколько $INDEX_ALLOCATION атрибуты).

Когда ОС перемещает файл внутри той же файловой системы, эти «списки детей» (хотя технически они Деревья B +) обновлены.

Обратите внимание, что можно было бы вырезать остатки из незаполненного пространства записей индекса.

Мне также интересно, что произойдет, если я переведу его в другую файловую систему

Перемещение файла в другую файловую систему рассматривается как:

  • копия в новую файловую систему
  • мгновенное удаление файла из исходной файловой системы

В этом случае запись MFT также сохраняется, но она помечена как удаленная. Он может быть перезаписан при создании новых файлов и необходимы дополнительные записи MFT.


0
2018-01-26 10:11