Comment fonctionne la corbeille?

29

Que fait réellement la Corbeille sous Windows? S'agit-il simplement d'un dossier glorifié et d'un lieu de stockage pour les fichiers qui seront bientôt supprimés, ou fait-il quelque chose de spécifique? Plus précisément, les fichiers qui sont "déplacés" vers la Corbeille sont-ils réellement déplacés sur le disque dur, ou les pointeurs vers les fichiers sont-ils déplacés? Je suis un utilisateur assez expérimenté, je voulais juste une explication plus approfondie de la Corbeille.

Jonathon
la source
3
C'est en fait une question intéressante. Si la corbeille était simple, il ne faudrait pas une éternité pour y ajouter un dossier contenant quelques milliers de fichiers.
Daniel Beck
3
Commencez avec l'article Wikipedia .
William Jackson
1
Les meilleures informations proviennent toujours des personnes qui écrivent réellement le logiciel de récupération: pandorarecovery.com/knowledge_base/general/recycler.php . Et voir aussi dereknewton.com/2010/06/... et linuxsleuthing.blogspot.sg/2009/10/... et cybersecurityinstitute.biz/INFO2.htm
Pacerier

Réponses:

32

La référence est supprimée, un fichier de métadonnées est conservé dans la Corbeille pour connaître l'emplacement d'origine.

Au début, sur Windows 95 et 98, cela se trouvait dans \RECYCLED. Sous Windows 2000 et versions ultérieures, il a été renommé \RECYCLER. Depuis Windows Vista, il s'agit désormais d'un dossier spécial appelé \$Recycle.Bin.

Utilisez Process Monitor pour voir les E / S sous le capot, mettez un filtre Recycle.Binet visitez-le. :)

Par exemple, lorsque je fais cela:

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

Remarque: Le nom de dossier long est un SID utilisateur . Le dernier nom de dossier est un hachage basé sur les métadonnées.

J'obtiens un fichier qui contient des informations de métadonnées comme ceci:

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

La raison pour laquelle le chemin d'accès au fichier comporte des espaces entre les deux est qu'il est stocké dans des caractères à octets larges, pour prendre en charge les caractères spéciaux pour certaines langues ainsi que l'unicode et quoi d'autre. Les symboles antérieurs sont binaires et contiennent des informations telles que la taille du fichier et les autorisations, ainsi qu'un pointeur vers les données du fichier. En substance, il contient suffisamment d'informations pour reconstruire la référence d'origine ...

C'est triste que le livre Windows Internals ne couvre pas cela, sinon j'aurais eu plus de référence. Je n'ai trouvé aucun article détaillé sur ce sujet, ni par Microsoft ni par des tiers. Ils existent probablement mais j'ai trouvé plus facile de procéder à une rétro-ingénierie du concept principal ...

Tamara Wijsman
la source
Bien, je viens de découvrir à la dure exactement ce que vous avez publié. Avez-vous une idée de comment le trouver à Example.txtpartir de l'invite de commande? Mon cas d'utilisation consiste à rechercher dans le lecteur entier un fichier mal placé à l'aide, dir c:\*.doc* /a/smais il ne trouve aucun document dans la corbeille en raison du changement de nom et du vrai nom conservé dans ce fichier de métadonnées.
Lieven Keersmaekers
Cela impliquera probablement findstr pour grep le contenu de la corbeille. Je ne sais pas comment.
Tamara Wijsman
Probablement plus facile de mettre à jour mes attentes dir /a/s:). tx Tom.
Lieven Keersmaekers
@ TomWijsman, Weird, je peux réellement renommer C:\$Recycle.Bin(essayé sur win8)! Est-il sûr de le faire?
Pacerier