A pasta Win7 System contém o diretório SYSTEM (!) em loop infinito

A pasta Win7 System contém o diretório SYSTEM (!) em loop infinito

Meu computador Windows 7 Enterprise tem travado com bastante frequência recentemente, então decidi inicializar no modo de segurança e executar o cliente TrendMicro que instalei. Ele congelou cerca de 10 minutos após a verificação completa do sistema, portanto, no espírito dehttp://whathaveyoutried.com, comecei a digitalizar cada pasta individualmente. Quando cheguei ProgramData, o AV falhou com uma exceção não detectada. Então desci um nível e tentei digitalizar Application Data, que também falhou. Imagine minha surpresa quando abro a pasta só para ver a mesma pasta novamente!

Pelo que sei, esse loop de pastas continua indefinidamente. (Se você estiver tentando recriar isso, lembre-se de que ProgramDataé uma pasta oculta.) Na verdade, estou um pouco preocupado que sejamsistemapastas, pois este é um computador totalmente novo com uma instalação limpa.

Acho que tenho três perguntas:

  1. Alguém mais viu/experimentou isso antes? Estou executando o Win7 SP1.
  2. Como faço para corrigir isso? Corri CHKDSK \Fsem sucesso (embora tenha sido incrivelmente lento).
  3. Quais são as ramificações de um diretório infinitamente recursivo? Teoricamente falando, cada link ocupa memória, então não deveria ter espaço disponível no disco rígido? (Tenho cerca de 180 GB restantes.) Percebi que a visualização em árvore à esquerda mostra apenas o ícone de "pasta vinculada" nas pastas mais profundas - isso significa algo especial? (Eu circulei os ícones ou a falta deles em vermelho.) Como o sistema operacional pode resolver essa aberração? E acima de tudo, o que aconteceria se eu selecionasse “Expandir todas as pastas”??? :P

Matt

Laço recursivo

Responder1

  1. Em relação a "não deveria ter mais espaço": Não, porque não são diretórios "físicos". São diretórios "computados", no sentido de que, ao tentar navegar até eles, você acaba no próximo diretório mais profundo. É como se fosse uma indução matemática: você não precisa continuar fazendo indução até o infinito, mesmo que a hipótese "permite que você" faça isso...

Ou pense desta forma: se você tiver uma lista vinculada com o nó A apontando para o nó B, o nó B apontando para o nó C e o nó C apontando para o nó B, quantos nós existem na lista? A resposta é 3, mas se você ingenuamente tentar seguir o nextponteiro dos nós até o infinito até encontrar um nó que não tenha um próximo ponteiro, você travará ao estourar o contador no qual está armazenando o número de nós. , ou você continuará contando até o infinito (ou até ficar sem tempo/paciência/espaço para armazenar a contagem).

O problema surge se você executar um programa que está tentando navegar por toda a árvore de diretórios e não tem suporte para detectar junções circulares ou links simbólicos circulares. Esse programa está francamente quebrado, IMHO, porque qualquer programa que tente sinceramente percorrer toda a sua árvore de diretórios precisa antecipar essa possibilidade e lidar com ela de forma inteligente.

Seu Trend Micro está basicamente fazendo o que eu disse sobre a lista vinculada com B apontando para C e C apontando para B. Ele está apenas seguindo os ponteiros sem perceber que está saltando entre dois nós em vez de navegar em uma hierarquia de diretórios com profundidade infinita de diretórios.

No geral: construções de sistemas de arquivos circulares - coisas como o diretório A tendo o diretório B como subdiretório, que tem o diretório A como subdiretório (e A e B podem de fato ser o mesmo diretório) - geralmente são um fenômeno válido, embora incomum. Eles estão na mesma classe de "coisas que você não vê todos os dias" que os arquivos que têm a caixa de seleção "Somente leitura" marcada; arquivos compactados na camada do sistema de arquivos; arquivos com ACLs personalizadas estranhas; e arquivos ocultos especiais, como os que o Office cria quando você abre um documento. Todos esses tipos de propriedades de arquivo requerem tratamento e conhecimento especiais quando um programa está tentando "percorrer" um sistema de arquivos arbitrário. Construções circulares são apenas mais uma coisa que, embora aceitáveis ​​e não indicativas de um erro no sistema de arquivos, requerem tratamento especial por parte dos programas.

Responder2

Eu também tenho o mesmo problema,

Depois de ler este link:http://answers.microsoft.com/en-us/windows/forum/windows_7-files/application-data-circular-reference/746342b2-0119-4461-a3d7-610c435a6715

Acho que esses links de referência circulares são normais, mas em circunstâncias normais são ocultados pelo sistema operacional. Eu forcei uma mudança de permissão e propriedade de todos os arquivos em meu C:\ há algum tempo e acho que no processo esses links ficaram 'reexibidos'.

Responder3

Eu mesmo tive essa aparição ao fazer alterações em um perfil, também no Windows 7. Evitei isso simplesmente copiando os dados para um novo perfil criado.

Seu TrendMicro apenas roda em um loop infinito reabrindo o link para o próprio diretório repetidas vezes... e trava dessa forma.

informação relacionada