मैं अपने Pi के SD कार्ड को इतनी बार दूषित होने से कैसे रोक सकता हूं?


47

मुझे बूट पर I / O त्रुटि मिलती है और फिर यह 'त्रुटि' मिलती है: (मैं रास्पियन का नवीनतम संस्करण चला रहा हूं)

Entering kdb (current=0xca82ac80, pid 1) due to keyboard entry
kdb> _

और मैंने इसे पहले भी देखा है, और मुझे समझाया गया कि जब से मैंने सही ढंग से बंद नहीं किया, मेरा एसडी कार्ड दूषित हो गया। एक हफ्ते बाद, मैं इस त्रुटि से नहीं निपट पाया, जब तक कि सत्ता तीन बार चालू / बंद नहीं हुई और अब मैं दोबारा बूट नहीं कर सकता। ऐसा लगता है जैसे मैं अपने एसडी कार्ड को फिर से तैयार कर रहा हूं !!! मुझे यह पसंद नहीं है, मैं अपने पीआई की क्षमताओं से प्यार नहीं करता। लेकिन यह 'ब्रेकपॉइंट' मुझे पागल कर रहा है! क्या कोई ऐसा तरीका है जिससे मैं इसे रोक सकता हूँ या किसी चीज़ को मजबूत कर सकता हूँ तो ऐसा नहीं होता अगर बिजली चली जाए? कोई सुझाव? धन्यवाद!

PS मेरी ज़िप फ़ाइल दूषित नहीं थी और मेरी निष्कर्षण सेवा Win32DiskImager है


2
क्या आपका कार्ड इस सूची में है
बटर

क्या आपने कभी यूपीएस के बारे में सोचा है?
lenik

@ लेनिक क्या आप कह रहे हैं कि मुझे एक सर्ज रक्षक जैसा कुछ होना चाहिए?
user151324

क्योंकि आप एक उचित शटडाउन के बिना चीज़ को बंद कर देते हैं?
जिप्पी

1
@coding_corgi अंदर बैटरी के साथ कुछ अधिक होने की संभावना है, जो पावर आउटेज के बाद 5-10 मिनट के लिए बिजली प्रदान करता है, जो आपको शॉर्ट पावर फ्लिक्स को नजरअंदाज करने की अनुमति देता है और आपको अपने कंप्यूटर को शटडाउन करने का समय देता है (पावर?) जब लंबे समय तक बिजली चली जाती है। समय। इसे लघु के लिए "निर्बाध विद्युत आपूर्ति" या यूपीएस कहा जाता है।
लेनिक

जवाबों:


48

मैं आपके HW और संगत SD कार्ड सूचियों की जाँच करने के बारे में नहीं लिखने जा रहा हूँ, क्योंकि आप शायद इन सभी को पहले ही जाँच चुके हैं। मैं जो लिखने जा रहा हूं वह स्थायी समाधान है, जो कली में समस्या को समाप्त करने और समस्या को स्थायी रूप से ठीक करने की अनुमति देता है ।

यदि आप नहीं चाहते कि आपका एसडी कार्ड पावर स्विच को फ्लिप करने पर टूट जाए, तो आपको इसे केवल-पढ़ने के लिए मोड में उपयोग करना होगा। यदि आपके एसडी कार्ड में कुछ भी नहीं लिखा जा रहा है, तो इससे कोई फर्क नहीं पड़ता कि आप क्या करते हैं।

स्पष्ट (लेकिन गैर-काम करने वाला) समाधान एसडी कार्ड के किनारे "रीड-ओनली" स्विच को फ्लिप करने का प्रयास होगा, दुर्भाग्य से यह काम नहीं करता है क्योंकि स्कीमैटिक्स दिखाता है कि यह स्विच कहीं से रूट नहीं किया गया है और इसकी स्थिति को आमतौर पर अनदेखा किया जाता है।

एक और, अधिक सूक्ष्म (लेकिन काम करने वाला) दृष्टिकोण आपके /etc/fstabसभी विभाजन को केवल पढ़ने के लिए माउंट करने के लिए संशोधित करेगा । इस दृष्टिकोण की खामी यह है कि आपके लॉग को कहीं और लिखा जाना चाहिए (यूएसबी स्टिक, रैम ड्राइव?) और रैम ड्राइव के मामले में रिबूट के दौरान लॉग नहीं बने रहेंगे। यह करने के लिए:

  1. अपनी पसंद के किसी भी तरीके का उपयोग करके अपने एसडी कार्ड में आरपीआई छवि की प्रतिलिपि बनाएँ।
  2. एसडी से बूट और raspi-configस्वचालित रूप से शुरू हो जाएगा। "फाइल सिस्टम का विस्तार" न करें, बस अपना समय क्षेत्र और अंतर्राष्ट्रीय सेटिंग्स सेट करें।
  3. रन sudo fdisk /dev/mmcblk0, वर्तमान विभाजन तालिका को प्रिंट करने के लिए 'p' दबाएं। फिर निम्नलिखित कमांड दर्ज करें:

    n        Create a new partition
    [enter]  Make a primary partition
    [enter]  Use the default number
    [#]      1 greater than the end of mmcblk0p2
    [enter]  Expand to the end of the SD card
    w        Write the partition table and exit
    
  4. संपादित करें /etc/fstab। यह कुछ इस तरह दिखना चाहिए:

    proc            /proc     proc    defaults 0 0
    /dev/mmcblk0p1  /boot     vfat    ro       0 0
    /dev/mmcblk0p2  /         ext4    ro       0 0
    /dev/mmcblk0p3  /home     ext4    defaults,errors=remount-ro  0  1
    none            /var/run  ramfs   size=1M  0 0
    none            /var/log  ramfs   size=1M  0 0
    
  5. sudo partprobeनए विभाजन को पहचानने के लिए चलाएं ।

  6. के साथ अपने नए विभाजन को प्रारूपित करें sudo mkfs --type ext4 /dev/mmcblk0p3
  7. रीबूट।

यदि किसी कारण से आपको अपने सिस्टम में परिवर्तन करने की आवश्यकता होती है, तो आप रीड-ओनली विभाजन को राइट एक्सेस के साथ हटा सकते हैं:

sudo mount -o remount,rw /dev/mmcblk0p2

रुको, अगर मैं ऐसा करता हूं तो मैं अपने एसडी कार्ड को नहीं लिख सकता हूं? या केवल बूट पर?
user151324

1
@ कोडिंग_कोर्गी यह पूरी तरह से एसडी कार्ड के लिए लिखना बंद कर देना चाहिए।
एपोर्टन

आपको अपने SD कार्ड को लिखने की आवश्यकता क्यों है? एसडी + पावर डाउन = एफएस भ्रष्टाचार के लिए लेखन, आप यूएसबी स्टिक का उपयोग कर सकते हैं या एसडी कार्ड पर एक अलग विभाजन बना सकते हैं यदि आपको कुछ डेटा सहेजने की आवश्यकता है। इस स्थिति में कम से कम आपका सिस्टम उठ जाएगा और चल सकता है, और फिर आप संभावित भ्रष्टाचार के लिए अपने डेटा की जांच कर सकते हैं।
लेनिक

@anorton यह एसडी कार्ड पर पहले दो विभाजनों तक पहुंच लिखना बंद कर देता है, लेकिन कोई भी नहीं कहता है कि आप एक और विभाजन नहीं बना सकते हैं, या डेटा को बचाने के लिए अलग-अलग मीडिया का उपयोग कर सकते हैं। उदाहरण के लिए, नेटवर्क पर केवल पढ़ने के लिए RasPi लेखन डेटा - एक बहुत विश्वसनीय समाधान हो सकता है।
लेनिक

1
मैं raspi कैम से अपने एसडी कार्ड वीडियो डेटा को लिखता हूं और यह कई बार मर गया! एक बार मेरे पास बूटिंग, खींचे गए तार या सिस्टम क्रैश के साथ कोई समस्या नहीं थी। पढ़ें केवल उत्पादन के लिए अच्छा है जब आप प्लग करते हैं और खेलते हैं। यह समस्या किसी भी तरह से विकास के दौरान नहीं होनी चाहिए- मुझे संदेह है कि केवल पढ़ने पर भी उसका डेटा गड़बड़ हो जाएगा क्योंकि कर्नेल को संभालने की तुलना में उच्च स्तर पर कुछ हो रहा है।
पायोत्र कुला

4

आपके द्वारा अपनी आरपीआई का उपयोग करने पर निर्भर करते हुए, आपको आईपीई में इंस्ट्रेस्ड किया जा सकता है, जो "रास्पियन का ब्लैकआउट प्रूफ स्वाद" है।

मैं अपनी आरपीआई को बूट करने के लिए इसका उपयोग करने की योजना बना रहा हूं। यदि मुझे रिटेन होने के लिए डेटा की आवश्यकता होती है, तो मैं एक यूएसबी ड्राइव का उपयोग करूंगा जिसे मैं आसानी से माउंट करूंगा (मैं अपने एसडी को सुरक्षित करना पसंद करता हूं और अपने एसडी को सुधारने की तुलना में यूएसबी ड्राइव को भ्रष्ट करता हूं)

IPE होमपेज देखें

जैसा कि वहां बताया गया है, "इसके अलावा, रूट फाइल सिस्टम को राइट करने योग्य या रीड-ओनली मोड पर स्विच करने के लिए" ipe-rw "और" ipe-ro "का उपयोग करें।"


2

मैंने अपने मुख्य विभाजनों के लिए USB फ्लैश ड्राइव का उपयोग करके इस समस्या को दूर किया है।

  1. एक यूएसबी ड्राइव के लिए रास्पियन छवि को पुनर्स्थापित करें

  2. वसा के लिए एक एसडी कार्ड प्रारूपित करें

  3. एसडी कार्ड पर यूएसबी ड्राइव से वसा विभाजन की सामग्री की प्रतिलिपि बनाएँ

  4. / Dev / sda से बूट करने के लिए sd कार्ड पर config.txt संशोधित करें

अनिवार्य रूप से आरपीआई अभी भी एसडी कार्ड से बूट होगा, लेकिन ओएस के लिए यूएसबी ड्राइव का उपयोग करेगा और रीड / राइट करेगा।


2

मैं UPS Pico को रास्पबेरी पाई के लिए विशेष रूप से डिज़ाइन किए गए UPS का उपयोग कर रहा हूं और इस तरह की समस्याएं कभी नहीं हुई हैं।


1

कृपया सुनिश्चित करें कि आपकी आरपीआई डिफ़ॉल्ट गति (यानी 700mhz पर सीपीयू) पर चल रही है। व्यक्तिगत रूप से, मुझे विभिन्न एसडी कार्ड के साथ स्टोरेज करप्शन का सामना करना पड़ा - लेकिन केवल घड़ी के ऊपर चलने पर। दुर्भाग्य से, कुछ वितरण (चित्र) config.txt में संदिग्ध सेटिंग्स के साथ आते हैं ।


मैंने अपने सीपीयू को ओवरक्लॉक नहीं किया है, हालांकि धन्यवाद
user151324

एक और आरपीआई की कोशिश करें कि इस मौके को छोड़ दें कि आपका कोई दोष है या यहां तक ​​कि टूट गया है
घबराना

मेरे पास केवल एक है
user151324

आप विकल्पों में से बाहर चलाने के लिए और एक आरएमए अनुरोध कर सकते हैं ..
घबराना

आरएमए? वह क्या है?
user151324

1

यदि आपका रास्पबेरी पाई जमे हुए है, तो आप सही ढंग से बंद नहीं कर सकते हैं, तो यह मदद करता है। मुझे यह पता चलने से पहले मेरे कुछ एसडी कार्ड तोड़ दिए गए थे:

Alt + PrintScreen दोनों को दबाए रखें, और उन कुंजियों को पकड़ते समय, क्रम में निम्नलिखित कुंजियों को हिट करें, एक समय में, उन दोनों के बीच कुछ सेकंड रुकें।

Alt+ PrintScreen+R E I S U O

या

Alt+ PrintScreen+ R E I S U B(रिबूट)

याद करने के लिए एक आसान महामारी है, रिबूट यहां तक ​​कि अगर सिस्टम पूरी तरह से टूट गया।

रिबूट करने के बजाय सिस्टम को बंद करने के लिए "बी" के लिए "ओ" को सब्स्टीट्यूट करें (ओ = ऑफ, बी = बूट)।

स्रोत: https://www.raspberrypi.org/forums/viewtopic.php?t=176612#p1126262


0

जैसा कि एलिनक्स साइट पर पाया जाता है। मैंने केवल वही चुना है जो आपकी स्थिति पर लागू होता है, लेकिन अधिक जानकारी के लिए कृपया उन पर जाएं ...

  • यदि आपको समस्याएँ हैं, तो जाँचें कि आपके पास rpi- अद्यतन के साथ नवीनतम फर्मवेयर संस्करण है
  • कुछ एसडी कार्ड R-Pi पर काम नहीं करते हैं, इसलिए ज्ञात एसडी कार्ड की सूची देखें
  • यदि आपको अपना एसडी कार्ड सेट करने में समस्या हो रही है, तो आप इसे पूरी तरह से मिटाकर शुरू करना चाहते हैं - खासकर यदि इसका उपयोग कहीं और किया गया हो और फिर भी इसमें डेटा / विभाजन हो। किसी भी तरह से फुल (निम्न स्तर) प्रारूप करना अच्छा है क्योंकि यह कभी-कभी खराब क्षेत्रों को ढूंढ सकता है और उन्हें एक अनदेखी सूची में जोड़ सकता है।
    • विंडोज और मैक उपयोगकर्ता एसडी एसोसिएशन से एक प्रारूपण टूल डाउनलोड कर सकते हैं: https://www.sdcard.org/downloads/formatter_3/
    • डिजिटल कैमरे में कार्ड को रिफॉर्म करना भी आसान है।
    • यदि आप मैन्युअल रूप से dd कमांड का उपयोग करके अपने SD कार्ड को Linux या Mac OS पर तैयार कर रहे हैं, तो यह ऑपरेशन किसी भी मौजूदा डेटा और विभाजन को पूरी तरह से मिटा देगा। सुनिश्चित करें कि आप पूरे कार्ड को लिखें (उदाहरण के लिए / dev / sdd) और मौजूदा विभाजन को नहीं (जैसे / dev / sdd1)।
  • यदि आपके पास एक sdcard है जो नवीनतम फर्मवेयर के साथ काम नहीं करता है, तो यहां पर सिर
  • सुनिश्चित करें कि आपके पास एक अच्छी बिजली की आपूर्ति है। कोशिश करो और सब कुछ अनप्लग करें और देखें कि यह कितने समय तक रहता है। स्थिरता का परीक्षण करके एक के बाद एक आइटम वापस प्लग करें।

यदि आपने उन सभी चरणों का पालन किया है, तो कोशिश करने के लिए एकमात्र संभव बात यह है कि संगत सूची से चयनित एक और एसडी कार्ड का उपयोग करें। किसी विश्वसनीय स्थान से मूल कार्ड खरीदना सुनिश्चित करें। EBay चीन या कुछ और की तरह नहीं।


मैं इस प्रक्रिया (सभी समर्थित) एक SanDisk, एक किंग्स्टन और एक Lexar, मैं कर रहा हूँ में 3 एसडी कार्ड का इस्तेमाल किया नहीं मैन्युअल रूप से या तो मेरी एसडी कार्ड की स्थापना, मैं Ubuntu और मैक ओएस एक्स पर कोशिश कर के बाद Win32DiskImager इस्तेमाल किया
user151324

अपने wierd कि अपने fs पढ़ने केवल यह तय कर दिया। आप में से लाखों लोगों के पास यह समस्या है। हो सकता है कि आपको अपने फ़ाइल सिस्टम को गड़बड़ करने वाले कुछ बकवास / वायरस मिले। जोर से जड़ गांड में दर्द हो रहा है ... रुको और देखो।
पिओटर कुल

धन्यवाद, कुछ अजीब चल रहा है, निश्चित रूप से एक वायरस नहीं है ...
user151324

0

बस सभी जमीन को कवर करने के लिए, यह भी जांचें कि क्या आपकी बिजली की आपूर्ति पर्याप्त है। अन्य चार्जर की कोशिश करें या इसे परीक्षण करने के लिए पीसी यूएसबी पोर्ट पर आरपीआई प्लग करें। याद रखें कि अनुशंसित RPI आपूर्ति लगभग 700mA है, लेकिन कुछ कमजोर चार्जर स्थिर स्तरों पर इसे बनाए नहीं रख सकते हैं।

मेरे पास एक राउटर था जो कुछ दिनों के लिए पागल होना शुरू कर देता है, फिर ठीक हो गया, फिर से पागल हो गया और बाद में फिर से ठीक हो गया ... मैंने पाया कि राउटर के समय बिजली की आपूर्ति बदलती वोल्टेज (3 वी से 5.5 वी) को आउटपुट कर रही थी। पागल। बदला है कि एक नए के साथ आपूर्ति सब ठीक है। इसलिए बिजली की आपूर्ति को बदलने और आउटपुट वोल्टेज को मापने का प्रयास करें।

अंत में, OS को बंद करके RPI को बंद करें और केवल एक लाल एलईडी का नेतृत्व करने पर RPI को अनप्लग करें। यदि आपके पास एक से अधिक लाल एलईडी हैं, तो RPI वास्तव में बंद नहीं है। इसके अलावा, प्लग से बिजली की आपूर्ति को हटाकर रपी को डिस्कनेक्ट करने से बचने की कोशिश करें, आरपीआई से बिजली निकालना बेहतर है और प्लग से बिजली की आपूर्ति को दूरस्थ करने के बाद ही करें।


नहीं, मेरे पास एक स्थिर
5.1 वी

0

मुझे RS घटक से पाई पर समान समस्याएं हैं। यह चीन पर बने पिस में से एक है। एलिमेंट 14 से यूके में बना एक और एक ही एसडीकार्ड और पॉवर्सअप के साथ भ्रष्टाचार कभी नहीं हुआ था। रा घटक इकाइयों के साथ कुछ हार्डवेयरफ्लो हो सकते हैं। निश्चित रूप से उस पर यकीन नहीं है, लेकिन सब कुछ उस दिशा में इंगित करता है।


0

मैंने अपने पीआई के साथ एसडी विफलता का अनुभव भी किया है, कभी-कभी 5 दिनों में, कभी-कभी यह एक महीने के लिए काम करता है।

जिस तरह से मैं एक साल से अधिक के लिए विश्वसनीय चलाने के लिए इसे प्राप्त कर सकता था वह एक यूएसबी स्टिक से बूट करना है। इस तरह से आप अपने एसडी कार्ड (केवल बूट पर) का उपयोग नहीं करते हैं, केवल 500 एमबी एसडी कार्ड (सस्ते) और एक यूएसबी स्टिक की आवश्यकता होती है।


0

मैंने एक संकेत का पालन किया, जिसे आप syncशटडाउन से पहले कर सकते हैं , और अब तक मुझे इस आदेश के साथ कुछ सफलता मिली थी:

sync; sudo shutdown -t 9 -r now

क्या आप अभी भी उपरोक्त समाधान का उपयोग करके रास्पबेरी के साथ समस्या कर रहे हैं?
जिज्ञासावश

मुझे अब कोई समस्या नहीं थी - लेकिन मैं स्वीकार करता हूं कि मैं पीआई को बंद करने के बजाय उस पर छलांग लगाने की प्रवृत्ति रखता हूं। लेकिन मेरा अनुमान है कि मैंने इसे अच्छी तरह से ऊपर की पंक्ति के साथ पचास गुना नीचे गिरा दिया, और यह तब से एक बार विफल नहीं हुआ। तो उस सांख्यिकीय से - यह काम करता है।
dirkk0

मुझे नहीं लगता कि यह इस मुद्दे को ठीक करेगा। जब आप एक नियंत्रित शटडाउन चलाते हैं, तो डिजाइन द्वारा आपके एसडी कार्ड को कोई नुकसान नहीं होना चाहिए। भ्रष्टाचार ज्यादातर उन मामलों में होता है, जिसमें डिवाइस बस अनप्लग्ड (या पावर आउटेज होता है) जो आपके syncया shutdownकमांड से असंबंधित है जब तक कि आप sync(अप्रत्याशित!) अनप्लगिंग से तुरंत पहले न चलें जो कि अनपेक्षित लगता है।
nhee
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.