Eu tenho um disco rígido de 3 TB que tinha 16 setores defeituosos de acordo com dados da SMART. Fiz um teste de superfície com HDSentinel, que aumentou esse número para cerca de 100. Então copiei diretórios diretamente para um HDD saudável de 3 TB, por ordem de importância (usando Robocopy ou SynchronizeIt, que preservam todos os registros de data e hora, incluindo os diretórios), aumentou ainda mais o número de setores defeituosos para 416. Acho que o melhor curso de ação teria sido cloná-lo completamente para o outro HDD, a fim de recuperar o máximo de dados possível, já que cada tentativa de ler um setor ruim parece piorar o problema, mas há sempre o risco de o HDD falhar completamente antes que o processo termine, e alguns diretórios aqui são muito mais importantes do que outros - de qualquer forma, o que está feito é feito, e eu recuperei com sucesso o que mais importava. / p>
Durante o teste de superfície, o HDSentinel forneceu uma lista de setores ilegíveis, com os quais eu identifiquei 6 arquivos afetados por setores defeituosos; Mudei-os para uma pasta especial e tentei não tocá-los ainda - bem, eu digo tentei , porque no começo eu queria movê-los com o Windows 7 Explorer, mas essa coisa estúpida insistiu em analisá-los como eles foram selecionados para exibir uma visualização, que congelou o sistema por um tempo e adicionou mais alguns setores defeituosos à contagem, então eu tive que mover esses arquivos da linha de comando ...
Pergunta secundária: como desabilitar preventivamente essa visualização em tal caso?
Agora, tenho algumas opções que conheço para lidar com esses arquivos:
- Tente copiá-los diretamente com o Copiador Imparável Roadkil (que deve pular setores defeituosos e salvar o que é aproveitável).
- Ou execute o ddrescue para extrair especificamente o intervalo de setores ocupados por arquivos corrompidos (além dos primeiros 10 GB, para ter os arquivos do sistema, incluindo o MFT, que devem permitir extrair os arquivos fragmentados sem causar dor de cabeça - arquivos corrompidos são na maioria programas de TV (não mais online) que foram baixados simultaneamente, e eu acho que é por isso que eles foram escritos entrelaçados, com milhares de fragmentos cada, apesar do disco rígido ter muito espaço livre).
No segundo caso (que é provavelmente o mais seguro nesse ponto), para ter certeza de que não estou perdendo nada, eu gostaria de obter uma lista de arquivos com pelo menos um setor na área potencialmente danificada . O primeiro setor ruim identificado foi o número 4131708368, o último foi 4157865694, então eu quero identificar quais arquivos são encontrados entre os setores 4131440000 e 4158400000, para ter uma boa margem de segurança.
Depois de ler este tópico , experimentei dois métodos:
-
Com o nfi.exe (assume valores do setor como entrada, eu coloco uma etapa de 8 para obter apenas um valor por cluster de 4KB)
FOR /L %N in (4131440000,8,4158400000) DO nfi.exe R: %N >>"G:\nfi ST3000DM001 4131440000-4158400000.txt"
Mas isso não funciona, exibe valores negativos. Este parece ser um problema do limite de 32 bits para o cálculo incremental, apesar dos números serem inferiores a 2 ^ 32. Ao fazer testes descobri que o problema apareceu em 2147483648, que é exatamente 2 ^ 31. Por que isso?
-
Com fsutil (requer valores de cluster como entrada, obtidos dividindo os valores do setor por 8):
FOR /L %N in (516430000,1,519800000) DO fsutil volume querycluster R: %N >>"G:\fsutil querycluster ST3000DM001 516430000-519800000.txt"
Isso funciona, e a apresentação é mais simples do que com o nfi.exe (uma linha por cluster), mas é extremamente lento: cerca de 1 segundo por valor, levaria 936 horas para ser concluído. Parece ser muito mais rápido se os valores do cluster forem inseridos em uma linha na mesma linha, mas eu não saberia como fazer uma contagem incremental para adicionar todos os valores dentro da mesma linha sem precisar digitá-los, e acho que o pobre pequeno cmd.exe sufocaria com 3370000 valores no mesmo comando ...
Existe um método melhor para conseguir o que eu quero?
Isso soa como uma abordagem segura e sólida para esse tipo de problema?
Obrigado.