मैंने ईबे से 64 जीबी एसडी कार्ड खरीदा। यह ठीक काम करता है जब मैं एक आर्क लिनक्स एआरएम छवि को जलाता हूं और इसका उपयोग मेरे रास्पबेरी पाई को बूट करने के लिए करता हूं।
हालाँकि, जब मैं कार्ड की सभी क्षमता का उपयोग करने के लिए उस पर एकल ext4 विभाजन बनाने का प्रयास करता हूं, तो त्रुटियां होती हैं। mkfs.ext4
हमेशा खुशी से खत्म होता है; हालाँकि, विभाजन को mount
संपादित नहीं किया जा सकता है , हमेशा एक त्रुटि फेंकने और dmesg
कर्नेल संदेश शामिल करता है Cannot find journal
। यह कम से कम दो प्लेटफार्मों पर मामला साबित हुआ है: आर्क लिनक्स एआरएम और उबंटू 13.04।
दूसरी ओर, मैं त्रुटि के बिना एक FAT32 विभाजन बना और माउंट कर सकता हूं (एक पूर्ण क्षमता की जांच नहीं की गई है)।
मैंने सुना है कि कुछ बुरे लोग एसडी कार्ड इंटरफ़ेस को ओएस की गलत क्षमता की रिपोर्ट करने के लिए बदल सकते हैं (यानी कार्ड वास्तव में केवल 2 जीबी है लेकिन कार्ड को बेहतर कीमत पर बेचने के लिए यह 64 जीबी के रूप में रिपोर्ट करता है)।
मुझे पता है कि badblocks
खराब ब्लॉक के लिए एसडी कार्ड की जांच करने के लिए मेरे जैसे उपकरण मौजूद हैं। badblocks
इस तरह की समस्याओं का पता लगा सकते हैं ? यदि नहीं, तो कार्ड का परीक्षण करने के लिए मेरे पास और कौन से उपाय मौजूद हैं?
मैं आदर्श रूप से जानना चाहूंगा कि मुझे धोखा दिया गया था या नहीं; यदि परिणाम से पता चलता है कि मुझे सिर्फ एक खराब आइटम मिला है, तो मैं विक्रेता को केवल वापस कर सकता हूं, बल्कि ईबे को रिपोर्ट कर सकता हूं कि किसी ने मुझे धोखा देने की कोशिश की।
अपडेट करें
संचालन और संदेश:
~$ sudo mkfs.ext4 /dev/sde1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4096000 inodes, 16383996 blocks
819199 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
500 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
~$ dmesg | tail
...
[4199.749118]...
~$ sudo mount /dev/sde1 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sde1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
~$ dmesg | tail
...
[ 4199.749118]...
[ 4460.857603] JBD2: no valid journal superblock found
[ 4460.857618] EXT4-fs (sde1): error loading journal
अपडेट करें
मैं चला हूं badblocks /dev/sde
लेकिन यह कोई त्रुटि नहीं रिपोर्ट करता है। इसका मतलब है कि शेष कारण हैं:
एसडी कार अच्छी है लेकिन किसी कारण
mke2fs
सेmount
या कर्नेल में एक बग है जो समस्या का कारण बनता है।मुझे इस तरह से धोखा दिया गया
badblocks
कि हार का पता नहीं चल सकता। यह प्रशंसनीय है क्योंकि मुझे लगताbadblocks
है कि सिर्फ कुछ जगह में ही पढ़ा-लिखा टेस्ट कर रहा है। हालाँकि, चीटर आउटबाउंड क्षेत्रों की पहुँच को कुछ इनबाउंड ब्लॉक से जोड़ सकता है। इस मामले में इन-प्लेस राइट-रीड चेक समस्या का पता लगाने में सक्षम नहीं है।
यदि कोई आवेदन नहीं है तो उचित परीक्षण कर सकते हैं, मुझे लगता है कि मैं इसे जांचने के लिए एक सरल सी कार्यक्रम लिखने की कोशिश कर सकता हूं।
dmesg
कर्नेल संदेश दिखाता है और मुझे यकीन है कि यह त्रुटियों के रूप में एक ही समय में प्रकट होता है क्योंकि मैंने उनसे पहले और बाद में और उनकी तुलना की थी। मैंने जांच नहीं की है syslog
क्योंकि मेरा मानना है dmesg
कि संदेश दिखाएंगे।