आदेश है:
blockdev --getsize64 /dev/mmcblk0p1
यह 64-बिट पूर्णांक के रूप में बाइट्स में परिणाम देता है। यह एक ब्लॉक डिवाइस के बाइट के आकार पर सवाल उठाता है , क्योंकि कर्नेल अपना आकार देखता है।
कारण, fdisk -l /dev/mmcblk0p1
काम क्यों नहीं किया गया, fdisk
यह कुछ अलग बात करता है: यह ब्लॉक डिवाइस के विभाजन तालिका (= पहला क्षेत्र) में पढ़ता है, और जो इसे मिला उसे प्रिंट करता है । यह कुछ भी जाँच नहीं करता है, केवल कहता है कि विभाजन तालिका में क्या है।
यदि विभाजन तालिका क्षतिग्रस्त है, तो यह भी परेशान नहीं करता है, या ब्लॉक डिवाइस में एक नहीं है: यह एक चेतावनी प्रिंट करेगा कि चेकसम ठीक नहीं है, लेकिन यह अभी भी प्रिंट करता है जो कि मान है, भले ही मान स्पष्ट रूप से गैर हों -समझ।
आपके मामले में यही हुआ है: एक विभाजन तालिका /dev/mmcblk0p1
नहीं है । जैसा कि डिवाइस का नाम दिखाता है, यह पहले से ही भौतिक डिस्क का पहला विभाजन है /dev/mmcblk0
। इस डिस्क में एक विभाजन तालिका है, क्या आपने इसके साथ पूछताछ की fdisk -l /dev/mmcblk0
थी, इसने काम किया था (यह मानते हुए कि इसमें एक msdos विभाजन तालिका थी)।