Obrigado Nomade, já fiz o teste de memória esta ok, e coloquei o hd em 2 notes que estão ok, acho que é o hd mesmo.
Tá, o sda é o disco que está com problemas. Foi o que você identificou com o hdparm. Ele não foi listado no fdisk justamente por isso.
Cara... as vezes por excesso de badblocks ocorrem erros de entrada e saída também. Ou se ocorrerem outras falhas que danifiquem determinados arquivos importantes para identificação do disco.
Seguinte, alguns comandos aqui podem, ou não, funcionar, mas no processo devem demorar uma vida rodando. Tenha tempo para isso, pois não é bom se ocorrerem desligamentos. Ocorrendo um desligamento brusco, se havia alguma esperança, vai piorar a situação e deixar de haver.
Então, você rodando um liveDVD, ou pendrive, mesmo que demore muito, é importante que não desligue o PC bruscamente. Se for urgente e precisar parar os processos, você deverá usar o ctrl+c (ainda assim há riscos), que encerrará o processo no terminal de forma menos brusca (acredito até que já saiba disso, mas é bom avisar)
1º use o comando que o druidaobelix recomendou. Não funcionando, pode usar o ddrescue caso tenha dados que precise e queira tentar recuperar, pois alguns comandos que passarei a seguir podem destruir seus dados.
O ddrescue é bom, pois gerará um log com dados do processo e sobre bdblocks.
onde você está vendo sdb1, substitua pela partição que preferir salvar seus arquivos em outro disco:
Isso é para recuperar dados contidos somente nos setores/blocos não defeituosos:
ddrescue -n /dev/sda1 /dev/sdb1 log-arquivo.txt
Isso é para contidos somente nos setores/blocos defeituosos (pode repetir isso 3 vezes que é capaz de ainda encontrar dados novos, mas aí é contigo):
ddrescue -dr3 /dev/sda1 /dev/sdb1 log-arquivo.txt
2º rode o testdisk. Ele repara a tabela de partições, tenta recuperar partições removidas acidentalmente e constrói uma nova tabela de partições:
testdisk /dev/sda
3º Usando o a ferramenta Badblocks. Se o testdisk funcionar, execute também o badblocks com os parâmetros seguros. Se o testdisk não funcionar rode o badblocks com parâmetros que iram zerar seu HD (ele é usado assim em casos extremos, onde o HD parece estar irrecuperável, é a uma última alternativa e muitas vezes funciona).
Badblocks de forma segura:
sudo badblocks -nsv -c 10240 /dev/sda
Badblocks para casos extremos (reforçando _cuidado, pois com os parâmetros que vou passar apaga toda a unidade selecionada, inclusive a tabela de partições):
sudo badblocks -wsv -c 10240 /dev/sda
Feito isso, mesmo que o HD volte a funcionar, nunca será um dispositivo confiável
Se seu HD não voltar a funcionar é caixão e vela preta, amigo