Detectar e recuperar arquivo corrompido

2

Temos um aplicativo que funciona em uma máquina dedicada (executando o Windows Embedded em um disco NTFS) em uma fábrica. Em raras ocasiões, um "arquivo corrompido" impede que o software funcione. A exclusão do arquivo corrompido resolve o problema ... mas todos os dados do arquivo são perdidos.

Até agora, reproduzir esse problema no laboratório se mostrou impossível. Nós finalmente conseguimos recuperar um PC que demonstra o problema. Até agora, todas as instâncias conhecidas do "arquivo corrompido" tem sido um arquivo INI que nosso software usa. Quando tento visualizar o arquivo (no bloco de notas), o seguinte erro é exibido:

AtentativadecopiaroarquivonoWindowsExplorerparaanáliseoff-lineresultanessamensagemdeerro:

Osatributosdoarquivoparecemnormaisemumpromptdecomando.TentarcopiaroarquivomanualmentecomcopymStats.iniD:geraesseerro:

CarregaroWindowsnomododesegurançanãoajuda(arquivoaindacorrompidoeirrecuperável).IssopareceapontarparaumaentradacorrompidanatabeladearquivosmestredoWindowsNTFS(MFT).Orestodosistemaparecenãoserafetado.Aexclusãodoarquivopermitearecuperaçãototal.

  • Oquepoderiaestarcausandoisso?
  • OsdadospodemserrecuperadosouaMFTcorrigida?
  • Épossívelreproduziressetipodeproblema(nosoftwareoumanualmente)?
  • Existealgumconselhogeralparaaleitura/gravaçãodearquivosparagarantirqueessetipodecoisanãoaconteça?

UPDATE1

Combasenasugestão aqui , corri chkdsk C: /V do prompt de comando que retornou:

\PATH\mStats.ini
Windows found errors on the disk, but will not fix them
because disk checking was run without the /F (fix) parameter.
\PATH\mStats.ini  first allocation unit is not valid. The entry will be truncated.
\PATH\mStats__.ini
\PATH\mStats__.ini  first allocation unit is not valid. The entry will be truncated.

Os arquivos ainda estão corrompidos. Estou ocupado executando novamente o comando com o sinalizador /F .

UPDATE 2

Depois de executar chkdsk com o sinalizador /F , os arquivos agora estão corrigidos. Esta não é realmente a boa notícia que soa porque agora eu não tenho um computador com os arquivos corrompidos nele! No Windows > Log de eventos de aplicativos, a seguinte entrada é exibida:

\PATH\mStats.ini  first allocation unit is not valid. The entry will be truncated.
\PATH\mStats__.ini  first allocation unit is not valid. The entry will be truncated.

Havia também cerca de uma dúzia de outros arquivos (principalmente na pasta Temporary Internet Files ) que apresentavam o mesmo problema.

    
por AlainD 05.10.2017 / 13:54

1 resposta

0

Sem a capacidade de testar e reproduzir extensivamente o problema, qualquer sugestão seria mera especulação.

No entanto, definitivamente soa como um problema de software. Se fosse um problema de hardware, como o disco rígido ou a memória, o fato de ser o único arquivo individual corrompido é estatisticamente extremamente baixo. Ainda assim, não faria mal verificar o hardware. Execute o memtest86 para testar a memória das máquinas quanto a falhas. Além disso, execute o scandisk no disco rígido e verifique se há erros. Melhor ainda, substituir o disco rígido por um disco de estado sólido, caso as vibrações na fábrica estejam causando o erro.

Tente abrir o arquivo corrompido com um editor hexadecimal, como este um . Verifique e veja se algum dos dados é legível e recuperável. Como medida de segurança, crie um script ou use um programa que faça backup desse arquivo com uma frequência aceitável.

No final, gostaria de falar com o fabricante do software, pois parece que o programa está gravando dados corrompidos no arquivo, tornando-o ilegível.

    
por 05.10.2017 / 15:14