Когда данные удаляются из вашей корзины, что с ними происходит?

48

Поправьте меня, если я ошибаюсь, но когда вы «удаляете» что-то со своего компьютера, все, что делает ваш компьютер, записывает некоторые двоичные файлы, где 0 заменяет 1. (Или что-то в этом роде). Итак, когда вы отправляете что-то в корзину, она записывает поверх части файла, а когда вы удаляете из корзины, она пишет больше?

Ши А.
источник
11
В целях безопасности обычно удаленные файлы восстанавливаются частично или полностью в зависимости от степени перезаписи. Если вам нужно стереть данные файла так , что они не подлежат восстановлению, вам потребуется использовать сторонние инструменты для «безопасного удаления» файла и / или «безопасного удаления» свободного места на диске. Это включает в себя запись нулей или случайных данных один или много раз в пространство, и это занимает много времени (именно поэтому обычное удаление не делает этого).
ADTC
@JaDogg Что ты имеешь в виду?
Paracosmiste
@JaDogg большую часть 0/1 и что это? A / F? Не уверен, немного ржавый. Но все это относится к сети. Большинство из них в любом случае. Я новичок здесь, поэтому я не могу комментировать других людей, которые пишут об этом, потому что я никого больше не видел, но я не сомневаюсь в этом.
Ши А.
Ты не прав. Когда вы «удаляете» что-то, Windows просто перемещает это в корзину, которая, по сути, является просто специальной папкой. Даже если вы удаляете что-то из корзины, это обычно не перезаписывается сразу. (Но блоки становятся свободными для размещения в других файлах, и затем данные могут быть перезаписаны.)
G-Man говорит: «Восстановите Монику»
@ ADTC, это просто нормальная запись, не так ли? Так зачем вам сторонние программы? Если я сохраню файл как 000000000000или random_garbage_data_repeat_random_garbage_datдо удаления, разве это не будет иметь такой же эффект?
Pacerier

Ответы:

86

Ни одна операция не записывает поверх файла.

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

Удаление файла из корзины (или удаление его напрямую с помощью Shift+ Delete) удаляет запись с именем файла из его папки. Часть диска, ранее занятая файлом, по-прежнему не модифицируется и не перезаписывается и по-прежнему содержит все данные файла, но эти данные больше не связаны с именем файла. Это место на диске записывается как «свободный», однако, так и будущие записи на диск можно повторно использовать это пространство, и если вы продолжать использовать диск пространство почти наверняка будет переписан в конце концов .

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

Boann
источник
33
Если говорить о бите «перемещение файла», то корзина представляет собой обычную папку на жестком диске, которую Windows показывает вам особым образом.
Отметить
9
@ Думаю, не совсем, я думаю, на каждом диске есть папка 'recycle bin' (не так ли .$TRASHES?), И Windows объединяет их все, когда вы открываете Recycle Bin. Таким образом, на вашем диске C: и на диске E: есть папка, потому что Windows не хочет копировать все, когда вы ее удаляете (вот и весь смысл!).
Riking
7
Windows Vista, 7 и 8 (и 8.1) использовать $RECYCLE.BIN. @Riking Ты думаешь о Nautilus для Linux; он использует .Trashes.
Коул Джонсон
3
Хотя это зависит от файловой системы, имена файлов обычно не удаляются из папки после удаления. например, в FAT / FAT32 только первый символ имени файла в директиве заменяется байтом 0xE0, что делает весь файл, включая все, кроме первого символа имени, полностью восстанавливаемым, если не было выполнено ни одной записи, которая повторно использовала бы цепочку кластеров, которая была ранее выделено для удаленного файла.
Энди Браун
6
@ Yaitzme перемещение файла, как правило, не перемещает содержимое файла. Если источник и место назначения находятся в одном разделе, перемещается только имя файла (т. Е. Указатель на файл добавляется в новый каталог и удаляется из старого каталога). Данные могут оставаться в одном месте. Только когда вы перемещаете файл между разделами, вам необходимо скопировать все содержимое.
Амон
36

Файл состоит из двух частей:

  1. Запись в каталоге, которая записывает имя файла, а также содержит список блоков на диске, которые содержат данные содержимого файла. Тогда операционная система «знает», что эти блоки используются.
  2. Фактические блоки, которые содержат содержимое данных файла

Когда файл удален:

  1. Список блоков в записи каталога возвращается в операционную систему, помеченную как свободная. Запись каталога удаляется, поэтому файл «исчезает» из файловой системы.
  2. Фактические блоки не затрагиваются, поэтому содержимое данных файла остается неизменным до тех пор, пока какой-либо другой новый файл не перезапишет их. По этой причине программное обеспечение для восстановления файлов часто может восстанавливать удаленные файлы (но только если оно используется вскоре после удаления).
Мэри Биггс
источник
10

Вам необходимо уточнить, спрашиваете ли вы, что происходит на физическом диске или на уровне программного обеспечения.

С физической стороны это зависит от привода:

  • На магнитных дисках перезапись битов или их запись - это одна и та же операция, поэтому файлы обычно физически не удаляются (операционная система просто меняет таблицу содержимого раздела и помечает пространство как свободное).

  • На SSD-накопителях невозможно перезаписать существующие данные, поэтому файлы обычно физически удаляются (см. Http://en.wikipedia.org/wiki/Trim_(computing) )

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

Eloims
источник
4
«Перемещение в корзину перемещает файл». На самом деле, нет. Сам файл не перемещается; он все еще занимает те же LBA на диске, что и раньше. Даже запись файла одинакова. Единственное, что «перемещено» - это запись каталога, из исходного каталога файла в каталог для «Корзины».
Джейми Ханрахан
Эту вещь о SSD я не ожидал. Я думал, что все операции записи в SSD вызывают износ. Не обрезка не вызывает износ? Вы можете упомянуть, что не ОС активно записывает нули в пространство, а просто отправляет команду обрезки на SSD, которая, в свою очередь, очищает данные от секторов, в которых хранится файл.
ADTC
то, что я хотел сказать, но не потратил времени на объяснение, заключается в том, что, задавая этот тип вопросов, вам действительно необходимо сузить его до программной или аппаратной стороны. «файлы», «папки», «разделы», «оглавление» и т. д. - все это понятия программного обеспечения. С аппаратной стороны это больше похоже на «чтение 80 байтов по адресу 0x2384923», «запись 24 байтов по адресу 0x123123» или «обрезку 292 байтов по адресу 0x82478923»
Eloims
6
AFAIK, команда Trim не удаляет файл физически (как упоминалось в ADTC, это будет дорогостоящей операцией. Она просто сообщает встроенному ПО накопителя, что ему больше не нужно сохранять данные. Так что это концептуально очень похоже на то, что происходит в файловой системе, просто на уровне прошивки
oefe
2
Когда количество пустых страниц становится достаточно низким, SSD будет искать блок, который не содержит ничего, кроме «устаревших» страниц. Если такой блок найден, он будет удален. В противном случае он найдет блок, содержащий наиболее устаревшие страницы, скопирует не устаревшую страницу в оставшуюся пустую и пометит страницу как устаревшую. Как только это будет сделано для всех блоков на странице, эта страница больше не будет содержать никаких устаревших блоков и, таким образом, может быть восстановлена. Обратите внимание, что если файловая система считает страницу бесполезной, но накопитель этого не знает, копирование ненужных данных может тратить время.
суперкат