Ketika SMART memeriksa disk melaporkan sektor yang buruk, penting untuk dapat mengidentifikasi file yang memiliki sektor buruk - dan mengembalikannya dari cadangan. Di bawah ini, saya menunjukkan bagaimana saya melakukan ini untuk server VMWARE Linux / ext3 saya - tetapi apakah ada yang tahu apakah ini dapat dilakukan untuk Windows / NTFS?
Inilah cara saya melakukannya untuk Linux / ext3: Saya pertama kali meminta drive untuk melakukan pemindaian permukaan perangkat keras (di bawah tingkat OS, dengan sirkuit SMART di drive):
vserver:~# smartctl -t long /dev/sdc
Saya melihat hasilnya:
vserver:~# smartctl -a /dev/sdc
...
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 1
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 9
...
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 27679 591363172
Jadi, satu sektor sudah ditandai buruk, 9 ditandai untuk diganti dari ruang sektor "pementasan". Lebih penting lagi, alamat blok logis pertama (LBA) yang tidak dapat dibaca, adalah 591363172.
Saya menemukan partisi (dan offset di dalamnya) yang nomor ini "terjemahkan" ke:
vserver:~# fdisk -lu /dev/sdc
Device Boot Start End Blocks Id System
/dev/sdc1 32 976773119 488386544 83 Linux
Partisi dimulai pada sektor 32. Jadi, sektor buruk ...
vserver:~# bc -l
591363172-32+1
591363141
... di offset 591363141 sektor dari awal partisi.
Sekarang saya dapat menemukan file mana yang "disembunyikan":
vserver:~# tune2fs -l /dev/sdc1 | grep Block\ size
Block size: 4096
Ukuran blok sistem file EXT3 ini adalah 4096 byte, jadi sektor buruk menghancurkan blok ini dalam sistem file:
vserver:~# bc -l
591363141*512/4096
73920392.62500000000000000000
Dan nomor blok (73920392) terkait dengan file ini:
vserver:~# debugfs
debugfs 1.41.3 (12-Oct-2008)
debugfs: open /dev/sdc1
testb 73920392
debugfs: testb 73920392
Block 73920392 marked in use
debugfs: icheck 73920392
Block Inode number
73920392 18472967
debugfs: ncheck 18472967
Inode Pathname
18472967 /path/to/filewithbadsector
Dan saya memulihkan file itu dari cadangan saya.
Apakah ada prosedur setara yang dapat saya ikuti untuk Windows / NTFS?
dd
. Ini akan memaksa drive untuk memperbaiki atau merealokasi.