Como funciona a Lixeira?

28

O que a Lixeira no Windows realmente faz? É apenas uma pasta glorificada e um lugar de espera para arquivos serem excluídos em breve, ou faz algo específico? Especificamente, os arquivos que são "movidos" para a Lixeira foram realmente movidos no disco rígido ou são apenas os ponteiros para os arquivos movidos? Eu sou um usuário bastante experiente, eu só queria uma explicação mais detalhada da Lixeira.

    
por Jonathon 17.12.2011 / 06:39

1 resposta

29

A referência é removida, um arquivo de metadados é mantido na Lixeira para saber o local original.

Nos primeiros dias, no Windows 95 e no 98, estava localizado em \RECYCLED . No Windows 2000 e posterior, ele foi renomeado para \RECYCLER . Desde o Windows Vista, agora é uma pasta especial chamada \$Recycle.Bin .

Use Process Monitor para ver o I / O sob o capô, coloque um filtro em Recycle.Bin e visitá-lo. :)

Por exemplo, quando faço isso:

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

Observação: o nome da pasta longa é um SID do usuário . O último nome da pasta é um hash baseado nos metadados.

Eu recebo um arquivo que contém informações de metadados como esta:

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

O motivo pelo qual o caminho do arquivo tem espaços é porque ele é armazenado em caracteres de byte largo, para suportar caracteres especiais para determinados idiomas, bem como unicode e o que mais. Os símbolos anteriores são binários e contêm informações como o tamanho do arquivo e permissões, bem como um ponteiro para os dados do arquivo. Em essência, contém informações suficientes para reconstruir a referência original ...

É triste que o livro do Windows Internals não cubra isso, senão eu teria mais referências. Não encontrei nenhum artigo sobre detalhes sobre isso, nem pela Microsoft nem por terceiros. Eles provavelmente existem, mas eu achei mais fácil ir e reverter a engenharia do conceito principal ...

    
por 17.12.2011 / 06:55