Pesquisa este tema e o Google vai sugerir-te "smartctl fix bad sectors". Essa sugestão descreve algo que a ferramenta não faz, e a distância entre aquilo que as pessoas esperam e aquilo que o SMART fornece na realidade é onde os dados se perdem.
O smartctl comunica, não repara
A documentação não deixa margem para interpretação: o smartctl "não calcula nenhum dos valores dos Atributos, limiares ou tipos, limita-se a comunicá-los a partir dos dados SMART presentes no dispositivo."
É um utilitário de monitorização e de relato. Não existe nenhuma opção que repare um setor, porque reparar não é algo que uma ferramenta de diagnóstico faça. Quando um disco realoca um setor defeituoso, é o firmware que o faz, em silêncio, usando um sobresselente da sua reserva.
Isto tem consequências práticas. Qualquer utilitário que anuncie que "corrige" setores defeituosos está a fazer uma de duas coisas: a escrever por cima deles, o que destrói permanentemente aquilo que lá estava, ou a forçar a mão ao firmware para que realoque. Nenhuma das duas recupera o teu ficheiro. Se os dados ainda interessam, escrever no disco é a última coisa que queres.
Os cinco atributos que vale a pena ler
A Backblaze mantém um dos maiores conjuntos de dados publicados sobre falhas de discos, e monitoriza cinco atributos SMART para efeitos de previsão:
| ID | Atributo |
|---|---|
| 5 | Reallocated Sectors Count |
| 187 | Reported Uncorrectable Errors |
| 188 | Command Timeout |
| 197 | Current Pending Sector Count |
| 198 | Uncorrectable Sector Count |
A comparação que publicaram: 76,7% dos discos avariados tinham pelo menos um destes acima de zero, contra 4,2% dos discos operacionais. É essa separação que os torna dignos de verificação.
Os dois mais frequentemente mal lidos são o 197 e o 5, e vale a pena perceber a diferença entre eles.
197, Current Pending Sector Count, é a lista provisória. São setores que o disco teve dificuldade em ler e que colocou sob observação. Ainda não estão condenados. Se uma leitura posterior for bem sucedida, a contagem pode voltar a descer.
5, Reallocated Sectors Count, é o registo permanente. São setores que o disco deu por perdidos e trocou por sobresselentes. Este número só sobe.
Por isso, um 197 diferente de zero é o aviso mais precoce, e aquele sobre o qual vale a pena agir, porque diz que o disco está neste momento com dificuldade em ler alguma coisa. Essa alguma coisa bem pode ser o teu ficheiro.

Como ler o resultado sem o interpretar mal
Três comandos cobrem o terreno prático:
smartctl -H /dev/sda # overall health status
smartctl -A /dev/sda # the attribute table
smartctl -l selftest /dev/sda # results of past self-tests
No -H, o significado documentado de uma falha é específico e urgente: "ou que o dispositivo já falhou, ou que está a prever a sua própria falha nas próximas 24 horas." Vinte e quatro horas não é uma janela de manutenção. Significa copiar já o que interessa.
No -A, cada atributo traz um valor Raw (bruto), um valor Normalized (normalizado) e um Threshold (limiar). A regra documentada é que, se o valor normalizado for inferior ou igual ao limiar, o atributo falhou. As pessoas leem rotineiramente a coluna raw e entram em pânico, ou leem-na e descontraem, sem a confrontarem com o threshold. O valor raw sozinho não te diz se um atributo falhou.
Para executar os próprios testes:
smartctl -t short /dev/sda # usually under ten minutes
smartctl -t long /dev/sda # tens of minutes, more thorough
O teste curto verifica o desempenho elétrico e mecânico juntamente com o desempenho de leitura. O teste alargado é a versão mais longa e mais minuciosa. Em ambos os casos o comando lança o teste e devolve o controlo; lês o desfecho depois com -l selftest, que mostra o tipo e o estado final de cada um dos autotestes mais recentes.
O número que ninguém cita: 23,3%
Aqui está a parte que deveria mudar a forma como reages a um relatório limpo.
Segundo os próprios números da Backblaze, se 76,7% dos discos avariados mostraram um aviso, então 23,3% dos discos avariados não mostraram nenhum. Perto de uma falha em cada quatro chega sem que o SMART comunique fosse o que fosse de errado.
O SMART é um aviso precoce útil que fica calado cerca de um quarto das vezes. É prova de um problema quando fala, e não é prova de saúde quando se cala. Uma verificação aprovada significa que ainda nada de mau foi detetado. Não significa que o disco esteja bem, e não substitui ter uma segunda cópia.
O que fazer quando os números são maus
A ordem importa, e o primeiro passo é aquele que as pessoas saltam.
Deixa de escrever no disco. Cada escrita é uma oportunidade de sobrescrever algo recuperável e mais trabalho para um mecanismo que já está a lutar.
Cria a imagem antes de investigares. Trabalha a partir de uma cópia ao nível do setor, não a partir do disco defeituoso. Tentativas de leitura repetidas num disco com setores pendentes colocam esforço exatamente onde ele já está frágil, e cada nova tentativa é uma oportunidade para um setor marginal se tornar ilegível. Cobrimos o processo em clonar um disco defeituoso com o ddrescue.
Depois recupera a partir da imagem. Assim que tiveres uma cópia, podes voltar a tentar as vezes que quiseres sem arriscares o original.
Recuperar a partir de uma imagem ou de um disco ainda legível
Aplica-se assim que o disco esteja suficientemente estável para ser lido ou tenhas feito uma cópia. Não repara setores defeituosos e nenhum software o faz, porque a realocação é tratada pelo firmware do disco.
A versão curta
O smartctl diz-te aquilo que o disco comunica sobre si próprio. Nunca repara nada, por isso trata "fix bad sectors" como a descrição de outra coisa qualquer. Lê o atributo 197 como o aviso precoce e o 5 como o registo permanente, e compara os valores normalizados com os limiares em vez de leres apenas os números raw. Um -H reprovado dá-te um horizonte documentado de 24 horas. E um relatório limpo não é um atestado de saúde, porque aproximadamente uma falha em cada quatro nunca chegou sequer a aparecer nestas estatísticas.
O comportamento dos comandos e a semântica dos atributos são retirados da documentação do smartctl; os números de correlação com a falha (76,7%, 4,2%, 23,3%) são as estatísticas publicadas pela Backblaze a partir da sua própria frota. Os números descrevem a população de discos deles e não são uma previsão para nenhum disco individual. As ligações comerciais têm o atributo rel="sponsored nofollow"; pode aplicar-se uma comissão de afiliado sem custo adicional para ti.
Recupera os dados do teu disco rígido → EaseUS
Análise gratuita · ficheiros apagados, formatados, perdidos · Windows & Mac


