Как работает корзина?


29

Что на самом деле делает Корзина в Windows? Это просто прославленная папка и хранилище для файлов, которые скоро будут удалены, или это что-то конкретное? В частности, действительно ли файлы, которые «перемещаются» в корзину, перемещаются на жесткий диск, или это просто указатели на перемещаемые файлы? Я довольно опытный пользователь, я просто хотел более глубокое объяснение корзины.


3
На самом деле это интересный вопрос. Если бы корзина была простой, добавление в нее папки с несколькими тысячами файлов не заняло бы вечно.
Даниэль Бек



1
Лучшая информация всегда от людей, которые на самом деле пишут программное обеспечение для восстановления: pandorarecovery.com/knowledge_base/general/recycler.php . А также увидеть dereknewton.com/2010/06/... и linuxsleuthing.blogspot.sg/2009/10/... и cybersecurityinstitute.biz/INFO2.htm
Pacerier

Ответы:


32

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

В первые дни в Windows 95 и 98 это было в \RECYCLED. В Windows 2000 и более поздних версиях она была переименована в \RECYCLER. Начиная с Windows Vista, теперь это специальная папка \$Recycle.Bin.

Используйте Process Monitor, чтобы увидеть ввод / вывод под крышкой, наденьте фильтр Recycle.Binи посетите его. :)

Например, когда я делаю это:

notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5

Примечание . Длинное имя папки - это SID пользователя . Последнее имя папки - это хеш, основанный на метаданных.

Я получаю файл, который содержит метаданные, например:

                Ö¸ÌC : \ P a t h \ T o \ S o m e \ E x a m p l e . t x t

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

Грустно, что книга Windows Internals не покрывает это, иначе я бы имел больше ссылок. Я не нашел ни одной статьи, которая бы подробно об этом говорила ни Microsoft, ни сторонние разработчики. Они, вероятно, существуют, но мне было легче пойти и перепроектировать основную концепцию ...


Хорошо, я просто выясняю, что именно ты написал. У вас есть идеи, как найти свой Example.txtиз командной строки? Мой вариант использования заключается в поиске неупорядоченного файла по всему диску с использованием, dir c:\*.doc* /a/sно он не находит никаких документов в корзине из-за переименования и реального имени, хранящегося в этом файле метаданных.
Ливен Керсмакерс

Это, вероятно, потребует, чтобы findstr собрал содержимое корзины. Не знаю, как, хотя.
Тамара Вийсман

Наверное, проще обновить мои ожидания dir /a/s:). Том Том.
Ливен Керсмакерс

@ TomWijsman, странно, я могу переименовать C:\$Recycle.Bin(пробовал на win8)! Насколько это безопасно?
Pacerier
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.