कैसे निर्धारित करें कि किस विभाजन में बैडब्लॉक है?


2

मेरे पास निम्न डिवाइस है:

मॉडल परिवार: पश्चिमी डिजिटल कैवियार ग्रीन (वायुसेना)
डिवाइस मॉडल: WDC WD15EARS-00MVWB0
क्रम संख्या: WD-WCAZA3607921
LU WWN डिवाइस आईडी: 5 0014ee 2b01eac3e
फर्मवेयर संस्करण: 51.0AB51
उपयोगकर्ता क्षमता: 1,500,301,910,016 बाइट्स [1.50 टीबी]
सेक्टर का आकार: 512 बाइट्स तार्किक / शारीरिक
डिवाइस है: स्मार्टक्टेल डेटाबेस में [विवरण उपयोग के लिए: -पी शो]
ATA संस्करण है: ATA8-ACS (मामूली संशोधन इंगित नहीं)
SATA संस्करण है: SATA 2.6, 3.0 Gb / s
स्थानीय समय है: थू नवम्बर 21 00:08:20 2013 सीईटी
स्मार्ट समर्थन है: उपलब्ध - डिवाइस में स्मार्ट क्षमता है।
स्मार्ट समर्थन है: सक्षम

और हाल ही में मुझे इस डिस्क की सतह को पढ़ते समय एक त्रुटि हुई। यह त्रुटि है:

पूर्ण त्रुटि लॉग:
स्मार्ट त्रुटि लॉग संस्करण: 1
एटीए त्रुटि गणना: 25 (डिवाइस लॉग में केवल सबसे हाल की पांच त्रुटियां हैं)
    CR = कमांड रजिस्टर [HEX]
    FR = सुविधाएँ रजिस्टर [HEX]
    SC = सेक्टर काउंट रजिस्टर [HEX]
    एसएन = सेक्टर नंबर रजिस्टर [HEX]
    सीएल = सिलेंडर कम रजिस्टर [HEX]
    CH = सिलेंडर उच्च रजिस्टर [HEX]
    डीएच = डिवाइस / हेड रजिस्टर [HEX]
    DC = डिवाइस कमांड रजिस्टर [HEX]
    ईआर = त्रुटि रजिस्टर [HEX]
    ST = स्थिति रजिस्टर [HEX]
Powered_Up_Time को शक्ति से मापा जाता है, और इसके रूप में मुद्रित किया जाता है
DDd + hh: mm: SS.sss जहां DD = दिन, hh = घंटे, mm = मिनट,
एसएस = सेकंड, और एसएसएस = मिलीसेक। यह 49.710 दिनों के बाद "लपेटता है"।

25 त्रुटि डिस्क पावर पर जीवनकाल में हुई: 18798 घंटे (783 दिन + 6 घंटे)
  जब कमांड जिसके कारण त्रुटि हुई, तो डिवाइस सक्रिय या निष्क्रिय था।

  कमांड पूरा होने के बाद, रजिस्टर थे:
  ईआर एसटी एससी एसएन सीएल सीएच डीएच
  - - - - - - -
  40 51 08 00 40 37 e6 त्रुटि: UNC 8 सेक्टर LBA = 0x06374000 = 104284160 पर

  कमांड का नेतृत्व करने वाले कमांड जो त्रुटि का कारण थे:
  CR FR SC SN CL CH DH DC Powered_Up_Time कमांड / Feature_Name
  - - - - - - - - - ---------------- ------------------ -
  c8 00 08 00 40 37 e6 08 08: 54: 35.771 READ DMA
  ec 00 00 00 00 00 a0 08 08: 54: 35.763 IDENTIFY DEVICE
  एफई 03 46 00 00 00 a0 08 08: 54: 35.763 सेट फीचर्स [ट्रांसफर मोड सेट करें]

यह 25 वीं त्रुटि है लेकिन पिछली त्रुटियां बिल्कुल वैसी ही हैं।

यहाँ एक स्मार्ट रिपोर्ट है:

स्मार्ट डेटा संरचना संशोधन संख्या: 16
थ्रेसहोल्ड के साथ विशिष्ट विशिष्ट स्मार्ट विशेषताएँ:
ID # ATTRIBUTE_NAME फ्लैग वैल्यू काम करता है, इस प्रकार से अपडेट की गई WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate 0x002f 200 200 051 पूर्व-विफल हमेशा - 1
  3 स्पिन_यूपी_टाइम 0x0027 253 189 021 पूर्व-असफल हमेशा - 2066
  4 Start_Stop_Count 0x0032 099 099 000 Old_age हमेशा - 1118
  5 Reallocated_Sector_Ct 0x0033 200 200 140 प्री-फेल हमेशा - 0
  7 सीक_इर्र_रेट 0x002e 200 200 000 ओल्ड_एज हमेशा - 0
  9 पॉवर_ऑन_हॉर्स 0x0032 075 075 000 ओल्ड_एज हमेशा - 18833
 10 स्पिन_रेट्री_काउंट 0x0032 100 100 000 Old_age हमेशा - 0
 11 कैलिब्रेशन_रेट्री_काउंट 0x0032 100 100 000 ओल्ड_एज हमेशा - 0
 12 Power_Cycle_Count 0x0032 099 099 000 Old_age हमेशा - 1101
192 पॉवर-ऑफ_रिट्रेक्ट_काउंट 0x0032 200 200 000 ओल्ड_एज हमेशा - 277
193 Load_Cycle_Count 0x0032 085 085 000 Old_age हमेशा - 346753
194 तापमान_ सेल्सियस 0x0022 122 109 000 पुराना_ हमेशा - 28
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age हमेशा - 0
197 करंट_पेंडिंग_सेक्टर 0x0032 200 200 000 ओल्ड_एज हमेशा - 1
198 ऑफ़लाइन_उपयोगात्मक 0x0030 200 200 000 Old_age ऑफ़लाइन - 2
199 UDMA_CRC_Error_Count 0x0032 200 196 000 Old_age हमेशा - 11
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age ऑफ़लाइन - 1

इसलिए, यह अभी तक एक बुरा क्षेत्र नहीं है, लेकिन मुझे लगता है कि यह होगा।

उस ड्राइव पर मेरे 7 विभाजन हैं, और समस्या यह है कि मुझे नहीं पता कि सेक्टर (एस) कहां है, कौन सा विभाजन या / और कौन सा MiB, KiB, आदि डिस्क की शुरुआत से शुरू होता है। क्या यह पता लगाने का कोई तरीका है?


2
खराब क्षेत्र एक भौतिक दोष है जो ढीले कणों और क्षरण के कारण होता है और यह आमतौर पर फैलता है। मैं आपको अपने डेटा का बैकअप लेने की सलाह देता हूं और जितनी जल्दी आप इसका पता लगाते हैं, उतनी ही जल्दी आपकी हार्ड ड्राइव को बदल देगा, क्योंकि जल्द ही या बाद में यह एक महत्वपूर्ण समस्या बन जाएगी और आप अपना डेटा खो देंगे।
हेवेनार्ड

जवाबों:


1

मैंने पाया कि यह कैसे करना है। स्मार्ट रिपोर्ट में निम्नलिखित लाइन LBA निर्धारित करती है:

40 51 08 00 40 37 e6 त्रुटि: UNC 8 सेक्टर LBA = 0x06374000 = 104284160 पर

तो, यह 104284160 है। यदि हम जानते हैं कि, हम यह भी जानते हैं कि कौन सा विभाजन शामिल है:

रूट: ~ # fdisk -lu / dev / sda
डिवाइस बूट स्टार्ट एंड ब्लाक आईडी सिस्टम
...
/ देव / sda3 99610624 1466798079 683593728 83 लिनक्स

यह निर्धारित करने के लिए कि वास्तव में तीसरा विभाजन कहाँ है:

104284160 - 99610624 = 4673536

हमें ब्लॉक का आकार भी जानना होगा:

# tune2fs -l / dev / mapper / crypt_data | grep ब्लॉक
ब्लॉक गणना: 170897920
ब्लॉक का आकार: 4096
प्रति समूह ब्लॉक: 32768

और अब हम यह निर्धारित कर सकते हैं कि किस फ़ाइल सिस्टम ब्लॉक में निम्न सूत्र का उपयोग करके यह LBA है:

   b = (int) ((LS) * 512 / B)
कहाँ पे:
b = फाइल सिस्टम ब्लॉक नंबर
बी = फाइल सिस्टम ब्लॉक आकार बाइट्स में
एल = खराब क्षेत्र का एलबीए
S = विभाजन का आरंभिक क्षेत्र जैसा कि fdisk -lu द्वारा दिखाया गया है
और (int) पूर्णांक भाग को दर्शाता है।

मेरे मामले में यह होगा:

b = (int) ((104284160-99610624) * 512/4096
ख = 584,192

अब हमें जाँच करनी है कि क्या वहाँ कोई फ़ाइल है:

# डीबगफ़्स
डेबगफ़्स १.४२..8 (२०-जून -२०१३)
debugfs: open / dev / mapper / crypt_data 
debugfs: 584192 testb
ब्लॉक 584192 उपयोग में चिह्नित
debugfs: icheck 584192
इनकोड संख्या ब्लॉक करें
584192 37486656
debugfs: ncheck 37486656
इनोड पाथनाम
37486656 / कुछ / फ़ाइल

और वह मूल रूप से यह है। अब मुझे मैन्युअल रूप से इस क्षेत्र को पुनः प्राप्त करना होगा। अधिक जानकारी यह कैसे करना है, आप यहाँ पा सकते हैं


लिंक मर चुका है
अनवर

मैंने इसे ठीक कर दिया, और इसे अब काम करना चाहिए।
मिखाइल मोरफिकोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.