เมื่อสมาร์ทตรวจสอบดิสก์จะรายงานเซกเตอร์เสียมันเป็นสิ่งสำคัญที่จะสามารถระบุไฟล์ที่มีเซกเตอร์เสีย - และกู้คืนจากการสำรองข้อมูล ด้านล่างนี้ฉันแสดงให้เห็นว่าฉันทำสิ่งนี้กับเซิร์ฟเวอร์ Linux / ext3 VMWARE ของฉันได้อย่างไร แต่ทุกคนทราบว่าสามารถทำได้สำหรับ Windows / NTFS หรือไม่
นี่เป็นวิธีที่ฉันทำสำหรับ Linux / ext3: ฉันขอให้ไดรฟ์ทำการสแกนพื้นผิวของฮาร์ดแวร์ (ด้านล่างระดับ OS โดยมีวงจร SMART บนไดรฟ์):
vserver:~# smartctl -t long /dev/sdc
ฉันดูผลลัพธ์:
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
ดังนั้นหนึ่งเซ็กเตอร์ถูกทำเครื่องหมายว่าแย่แล้ว 9 ถูกทำเครื่องหมายเพื่อแทนที่จากพื้นที่เซกเตอร์ "การจัดเตรียม" ที่สำคัญบล็อกโลจิคัลที่อยู่ (LBA) แรกที่ไม่สามารถอ่านได้คือ 591363172
ฉันพบพาร์ทิชัน (และชดเชยภายใน) ที่หมายเลขนี้ "แปล" เป็น:
vserver:~# fdisk -lu /dev/sdc
Device Boot Start End Blocks Id System
/dev/sdc1 32 976773119 488386544 83 Linux
พาร์ติชันเริ่มต้นที่เซกเตอร์ 32 ดังนั้นเซกเตอร์ที่ไม่ดีคือ ...
vserver:~# bc -l
591363172-32+1
591363141
... ที่ออฟเซ็ตของภาค 591363141 จากจุดเริ่มต้นของพาร์ติชัน
ตอนนี้ฉันสามารถหาไฟล์ที่ถูก "hosed":
vserver:~# tune2fs -l /dev/sdc1 | grep Block\ size
Block size: 4096
ขนาดบล็อกของระบบไฟล์ EXT3 นี้คือ 4096 ไบต์ดังนั้นเซกเตอร์เสียจะทำลายบล็อกนี้ในระบบไฟล์:
vserver:~# bc -l
591363141*512/4096
73920392.62500000000000000000
และหมายเลขบล็อก (73920392) ตรงกับไฟล์นี้:
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
และฉันกู้คืนไฟล์นั้นจากข้อมูลสำรองของฉัน
มีขั้นตอนเทียบเท่าที่ฉันสามารถติดตาม Windows / NTFS ได้หรือไม่
dd
ก่อนที่คุณจะเรียกคืนจากการสำรองข้อมูลคุณยังต้องการที่จะจัดการกับภาคที่ไม่ดีโดยการเขียนเลขศูนย์ไปด้วย นี่จะเป็นการบังคับให้ไดรฟ์ทำการซ่อมแซมหรือทำการจัดสรรใหม่