Eu tenho uma unidade que está relatando que os setores pendentes atuais são "45". Usei badblocks para identificar os setores e tentei escrever zeros neles com dd .
Pelo que entendi, quando tento gravar dados diretamente nos setores defeituosos, ele deve desencadear uma realocação, reduzindo os setores pendentes atuais em um e aumentando a contagem do setor realocado.
No entanto, neste disco, os valores brutos Reallocated_Sector_Ct e Reallocated_Event_Count são 0 e o dd falha com erros de E / S quando tento gravar zeros nos setores defeituosos. O dd funciona bem, no entanto, quando escrevo para um bom setor.
# dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=217152
dd: error writing ‘/dev/sdb’: Input/output error
Isso significa que minha unidade, de alguma forma, não possui setores extras para serem realocados? Em geral, minha unidade é uma pessoa terrível? (A unidade não é realmente minha, estou ajudando um amigo. Eles podem ter comprado uma unidade barata ou algo assim.)
Caso seja relevante, aqui é a saída do smartctl -i :
Model Family: Western Digital Caviar Green (AF)
Device Model: WDC WD15EARS-00Z5B1
Serial Number: WD-WMAVU3027748
LU WWN Device Id: 5 0014ee 25998d213
Firmware Version: 80.00A80
User Capacity: 1,500,301,910,016 bytes [1.50 TB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS (minor revision not indicated)
SATA Version is: SATA 2.6, 3.0 Gb/s
Local Time is: Fri Oct 18 17:47:29 2013 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
UPDATE:
Eu executei shred
no disco, o que fez com que o Current_Pending_Sector fosse zero. No entanto, Reallocated_Sector_Ct e Reallocated_Event_Count ainda são zero, e o dd agora pode gravar dados nos setores aos quais era incapaz anteriormente. Isso me leva a várias outras perguntas:
Por que as realocações não estão sendo gravadas pelo disco? Estou assumindo que a realocação ocorreu, pois agora eu posso gravar dados diretamente no setor e não consegui antes.
Por que o shred causou realocação e não o dd? O fato de o shred gravar dados aleatórios em vez de apenas zeros faz alguma diferença?
Uncorrectable Sector Count
mais que zero?