Fui formatar um pendrive e reparei que no meu hd tem um setor danificado.
oque eu faço???
É um sinal que o seu disco está morrendo, se nada resolver a recomendação é substituir o disco. Existem comandos dentro do proprio Linux que podem verificar e tentar recuperar setores defeituosos no HD:
Também tem esse artigo em inglês indicando outro comando :
https://www.amolak.net/fix-hard-disk-bad-sectors-in-linux/
Também existem opções como o Hiren’s Boot, que ja vem com uma série de ferramentas voltadas pra isso.
formatar o hd adianta???
Se for um defeito físico no disco, nenhuma solução de software será capaz de resolver definitivamente, nem formatando. Mas nada te impede de tentar, nos links que mandei existe um comando que faz uma formtação de baixo nível que pode ajudar.
dd if=/dev/zero of= /dev/sdx(x corresponde a letra que representa o seu disco no seu sistema, verifique, pode ser sda,sdb, sdc e por aí vai, depender do número de discos que vc tem no seu sistema)
Mas você vai precisar criar um pendrive de boot com a sua distro, e entrar em modo live pra poder executar esse comando, caso o disco defeituoso contiver o seu sistema, já que esse comando irá apagar tudo nele. Faça backup dos seus dados antes, na verdade faça de qualquer maneira já que o seu disco não está confiável.
Outro comando sugerido é esse badblocks -wsv -c 1024 /dev/sdx, tabém apagará todo o seu disco e remarcara os setores.
Outro comando que tem nos links que mandei é esse sudo e2fsck -cfpv /dev/sdx, ele também procura por erros no disco e tenta corrigir os defeitos.
Como disse, faça backup dos seus dados antes de tentar qualquer procedimento.
Um setor defeituoso é um sinal de atenção. Pode ser que realmente seu disco esteja no final da vida útil.
Porém também pode ser que aconteceu um erro aleatório não repetitivo.
Eu recomendaria rodar diariamente o comando smartctl para verificar a saúde do seu disco. Se não houve alteração em uma semana, rode o comando semanalmente.
Porém se houver aumento do número de badblocks, faça backup dos seus dados e providencie um novo HD ou ainda um SSD, pois geralmente num HD defeituoso o aumento dos erros é exponencial! Eu não recomendo procedimentos para recuperar badblocks. Deixa ele lá quieto. Geralmente se você começar a formatar o disco inteiro só vai piorar o problema (caso seja efetivamente um disco no final da vida útil) ou no mínimo só perder tempo (caso o HD tenha sido vítima de um erro aleatório que causou o problema).
Essa é a saída para o meu disco rígido
sudo smartctl -a /dev/sda
...
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 080 064 006 Pre-fail Always - 106648115
3 Spin_Up_Time 0x0003 096 096 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 360
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 083 060 045 Pre-fail Always - 181957565
9 Power_On_Hours 0x0032 084 084 000 Old_age Always - 14737 (32 15 0)
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 332
183 Runtime_Bad_Block 0x0032 099 099 000 Old_age Always - 1
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 099 000 Old_age Always - 3 3 3
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 068 053 040 Old_age Always - 32 (Min/Max 24/32)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 333
193 Load_Cycle_Count 0x0032 095 095 000 Old_age Always - 11292
194 Temperature_Celsius 0x0022 032 047 000 Old_age Always - 32 (0 18 0 0 0)
195 Hardware_ECC_Recovered 0x001a 080 064 000 Old_age Always - 106648115
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 13383h+34m+07.585s
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 26488786874
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 399535433731
...
Cada fabricante tem um código diferente e textos diferentes. Acompanhe principalmente o “Unrecovered error”. Caso não tenha esse comando, instale o pacote “smartmontools”.