जब कोई डिस्क पर एक SMART चेक एक खराब सेक्टर की रिपोर्ट करता है, तो उस फाइल को पहचानने में सक्षम होना जरूरी है जो खराब सेक्टर है - और इसे बैकअप से पुनर्स्थापित करें। नीचे, मैं दिखाता हूं कि मैंने अपने लिनक्स / ext3 VMWARE सर्वर के लिए यह कैसे किया - लेकिन क्या किसी को पता है कि यह विंडोज / NTFS के लिए किया जा सकता है?
यहाँ मैंने इसे लिनक्स / एक्सट 3 के लिए कैसे किया: मैंने पहली बार ड्राइव को एक हार्डवेयर सतह स्कैन (ओएस स्तर के नीचे, ऑन-ड्राइव स्मार्ट सर्किट के साथ) करने के लिए कहा:
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 को "स्टेजिंग" सेक्टर स्पेस से बदलने के लिए चिह्नित किया गया था। इससे भी महत्वपूर्ण बात, पहला तार्किक ब्लॉक पता (एलबीए) जो अपठनीय है, 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
और मैंने अपने बैकअप से उस फ़ाइल को पुनर्स्थापित किया।
क्या विंडोज / NTFS के लिए एक समान प्रक्रिया है जिसका मैं पालन कर सकता हूं?
dd
। यह ड्राइव को मरम्मत के लिए बाध्य करेगा या उसे पुनः लोड करेगा।