fsck fsck नहीं होगा (सुपरब्लॉक झंडे सेट करने में असमर्थ)


12

एसडी कार्ड आधारित डिवाइस पर अशुद्ध शटडाउन के बाद, मैंने एसडी कार्ड fsckको रूट फाइल सिस्टम पर ले लिया । इसके कारण निम्न पर भिन्नताएं आईं:

e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2

यहाँ मैंने दोनों बार "नहीं" का उत्तर दिया है, लेकिन हां / नहीं का कोई क्रम नहीं है, जो तुरंत एक ही परिणाम नहीं देता है।

फाइलसिस्टम को माउंट किया जा सकता है और आकस्मिक निरीक्षण पर यह ठीक प्रतीत होता है; यह डिवाइस में भी ठीक काम करता है, और यह रूट फाइलसिस्टम है (वास्तव में यह बिल्कुल ठीक नहीं है, देखिए, कुछ अनियमित रूप से दूषित निर्देशिकाओं को देखें)।

मैं ddएक फ़ाइल के लिए विभाजन (8 जीबी), और उस पर fsck की कोशिश की। दिलचस्प बात यह है:

e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, gid=0, mode=0100644, size=293108)
Setting free inodes count to 406127 (was 408580)
Setting free blocks count to 1305622 (was 1347486)
plush.rootfs: clean, 60209/466336 files, 604906/1910528 blocks (check after next mount)

एक बाद में fsckपारित स्वच्छ, छवि को माउंट किया जा सकता है, और fsck -fउसके बाद भी गुजरता है।

लेकिन जिस कार्ड से कच्चे ब्लॉक कॉपी इमेज बनाई गई थी, उस फाइल के सिस्टम में अभी भी वही समस्या है - सिवाय इसके कि systemd-fsckजो बूट के दौरान होता है वह फाइल सिस्टम को "क्लीन" के रूप में लॉग करता है। बाद में, हालांकि, एक उचित शटडाउन, कार्ड को बाहर ले जाना, और fsckदूसरे बॉक्स से फिर से कोशिश करना एक ही त्रुटि प्रस्तुत करता है।

जब भी मूल को किसी अन्य मशीन पर लगाया जाता है, तो sloglog नोट:

kernel: EXT4-fs (sdc2): 4 orphan inodes deleted
kernel: EXT4-fs (sdc2): recovery complete

चूंकि मेरे पास यह सब है, इसलिए मैं यहां कुछ भी करने की कोशिश कर रहा हूं। मैं बस इस बारे में भूल सकता हूं और स्पष्ट रूप से तय की गई छवि से विभाजन का पुनर्जन्म कर सकता हूं, लेकिन यह एक बहुत ही संतोषजनक समाधान की तरह नहीं लगता है, क्योंकि इसका मतलब है कि मामूली सी समस्या को सुलझाने में fsck को क्रिप्टोकरंसी विफल होने का मतलब है।

मुझे लगता है कि यह रिकवरी_फ्लैग (या सीधे सादे "यह क्या मतलब है?" प्रश्न) जैसे सामानों के संबंध में "आधिकारिक प्रलेखन के लिए अनुरोध" प्रश्न में बदल रहा है , इसलिए उन पंक्तियों के साथ किसी भी सुझाव की सराहना की जाती है।


डिवाइस की त्रुटियों के बारे में कर्नेल में कुछ भी लॉग होता है? यह पहली बार नहीं होगा जब कोई एसडी कार्ड अचानक केवल पढ़ने के लिए बन गया।
मार्क प्लॉटनिक

@MarkPlotnick नहीं, और यह लिखने योग्य है। समस्या से पहले लॉग में आखिरी चीज सिस्टमड रीस्टार्ट हो रही थी (डिवाइस हेडलेस है और लंबे समय से अनुत्तरदायी बन गया है apt upgrade)। उसके बाद यह एक सामान्य बूट में प्रवेश करता है - और सिस्टमड-फस्क "क्लीन" (मैं इसे संपादित करता हूं) कहता हूं, लेकिन उस संदर्भ के बाहर की कोशिश करना अभी भी विफल है।
गोल्डीलॉक्स

कॉपी पर आपकी fsck ने 4 इनोड को साफ़ कर दिया, लेकिन फ्री इनोड की गिनती को 2453 इनोड्स से घटाकर तय किया! यह बहुत बड़ा है। जांचें कि डिवाइस को पर्याप्त शक्ति मिल रही है।
meuh 11

@meuh मुझे लगता है कि जब भी यह बड़े बॉक्स syslog पर लगाया जाता है तो उन 4 इनोड्स (ऊपर संपादित किए गए) को संदर्भित करता है। Fs पर कुछ सामान गड़बड़ हो गया (अपडेट किए गए कर्नेल मॉड्यूल! \ O /) तो मैंने एक नया कार्ड जला दिया है और पुराने पर लटका दूंगा अगर मेरे पास इसमें और खुदाई करने का मौका है। यह बिल्कुल नया नहीं है - एक अनब्रांडेड बारगैन बिन क्लास 10 कार्ड, (लाइट ड्यूटी) में संभवत: कुछ वर्षों के लिए 24/7 का उपयोग करें ... मुझे नहीं लगता कि एसडी कार्ड को सत्यापित करने का कोई तरीका निश्चित रूप से दोषपूर्ण है , लेकिन मुझे लगता है कि यह हो सकता है। शक्ति ठीक होनी चाहिए लेकिन कुछ शर्तों के तहत iffy हो सकती है।
गोल्डीलॉक्स

2
क्या यह वास्तव में नहीं चूसता है जब आपकी समस्या को ठीक करने वाला बहुत ही उपकरण समस्या की प्रकृति के कारण काम नहीं करता है? निष्कर्ष: उपकरण खराब है और इसे ठीक किया जाना चाहिए।
मार्क.2377

जवाबों:


11

मैं बस इसी समस्या में भाग गया। e2fsckअनुरक्षक के साथ समस्या को डीबग करने के बाद , हमने महसूस किया कि एसडी कार्ड टूट गया था। यह त्रुटि के बिना लिखना स्वीकार कर रहा था, लेकिन यह वास्तव में कार्ड को डेटा नहीं लिख रहा था। एसडी कार्ड प्रभावी रूप से केवल पढ़ा गया था।

ऐसा लगता है कि कार्ड किसी प्रकार की विफल मोड में चला गया था, जहां डेटा अभी भी पढ़ा जा सकता है, लेकिन कुछ भी नहीं लिखा है।

e2fsckसंदेश unable to set superblock flagsका अर्थ है इसे करने की कोशिश superblock लिखने के लिए पत्रिका संसाधित के रूप में है, जो बिना किसी त्रुटि के हुआ चिह्नित करने के लिए, लेकिन जब यह superblock पढ़ने के लिए फिर से वापस चला गया यह अभी भी संकेत दिया है कि पत्रिका की जरूरत पुनः बजाया जाए। दूसरे शब्दों में, भंडारण माध्यम पर सुपरब्लॉक में लिखे गए परिवर्तनों को सहेजा नहीं गया था।

मैं जिस कार्ड का उपयोग कर रहा हूं उसमें यह समस्या एक सैमसंग ईवो 16 जीबी माइक्रोएसडी है, जिसका उल्लेख मैं सिर्फ इन कार्डों के साथ एक आम समस्या है।

मैं ब्लॉक 0 पर कार्ड ddसे 4096 बाइट्स लिखने के लिए इसका परीक्षण करने में सक्षम था /dev/zero, फिर मैंने कार्ड से वापस पढ़ा और मुझे सभी जीरो प्राप्त करने के बजाय, मुझे अभी भी मूल अपरिवर्तित ext4 सुपरब्लॉक मिला।

मैं अब एक नए कार्ड पर डेटा ले जाने की प्रक्रिया में हूं और फिर देख सकता हूं कि क्या मुझे सैमसंग से प्रतिस्थापन मिल सकता है, जो एसडी कार्ड पर 10 साल की वारंटी प्रदान करते हैं।

अद्यतन: सैमसंग ने एक ही Evo श्रृंखला में एक 32GB के साथ 16GB कार्ड को बदल दिया, इसलिए मुझे लगता है कि मैं बहुत ज्यादा शिकायत नहीं कर सकता!


"जहां डेटा अभी भी पढ़ा जा सकता है, लेकिन कुछ भी नहीं लिखा है" -> एफएस लिखने योग्य था।
गोल्डीलॉक्स

@goldilocks: आपके fs सुपरब्लॉक की तरह लगता है, हालांकि यह लिखने योग्य नहीं हो सकता है। इसके अलावा, मेरे fs कैशिंग के लिए आभारी दिखाई देते हैं, यह केवल अनमाउंटिंग और रिमाउंटिंग के बाद मैंने देखा कि कोई भी बदलाव खो गए थे।
माल्विनस

यह कैशिंग के कारण एक भ्रम नहीं था।
गोल्डीलॉक्स

7

मुझे पता है कि यह एक पुराना धागा है, लेकिन, मुझे लगा कि मैं कुछ जानकारी देना चाहूंगा।

यह प्रतीत होता है जिस तरह से एसडी कार्ड एक प्राकृतिक मौत मरते हैं। पढ़ने / लिखने के चक्र sd कार्ड सहन कर सकते हैं 'पढ़ने / लिखने' पर विचार किए जाने वाले अन्य माध्यमों की तुलना में काफी कम है। जब वह समाप्त हो गया है, तो कार्ड केवल मोड में पढ़ा जाएगा, लेकिन आपको इस तरह की सूचना नहीं देगा। बहुत सारी चीजें सोचेंगी कि वे ओएस कैशिंग, आदि के लिए कार्ड के लिए लिख रहे हैं, लेकिन कभी भी कुछ भी नहीं चिपक जाता है।

एसडी कार्ड को मारने का एक शानदार तरीका इसे स्वैप विभाजन के रूप में माउंट करना है या ऐसा कुछ है जो बहुत पढ़ा / लिखा गहन है। आपको आश्चर्य होगा कि आप इस तरह से कार्ड को कितनी जल्दी मार सकते हैं। मैंने पाया है कि sd कार्ड या usb थंब ड्राइव को बंद करने से केवल एक या दो महीने तक चलने वाले कार्ड की गुणवत्ता और knoppix के उपयोग की तीव्रता पर निर्भर करता है। (जब से मैंने usb SSD ड्राइव को बंद कर दिया है, जो कुछ वर्षों से चली आ रही है)।

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