आप RooTer के लिए एक टिप्पणी में उल्लेख करते हैं कि ए) आपने प्रारंभिक विभाजन आकार को कम कर दिया है gparted
, लेकिन फिर dd
भी पूरे कार्ड की प्रतिलिपि बनाता है, और बी) जिसे आप छवि में दोनों विभाजन शामिल करना चाहते हैं।
समस्या "ए" की व्याख्या करना आसान है: आप अभी भी पूरे कार्ड की नकल कर रहे हैं, क्योंकि यही /dev/mmcblk0
संदर्भित है। व्यक्तिगत विभाजन निश्चित रूप से /dev/mmcblk0p1
और हैं /dev/mmcblk0p2
। यह "बी" समस्या में जटिलता है, लेकिन आप dd
प्रत्येक विभाजन को बस नहीं कर सकते हैं और दो फाइलों को एक साथ जोड़ सकते हैं, क्योंकि विभाजन की शुरुआत में विभाजन की तालिका /dev/mmcblk0
और प्रत्येक विभाजन की लंबाई को अनुक्रमित करता है। उसके बिना, छवि अनुपयोगी होगी।
हालाँकि, आप प्रत्येक विभाजन की लंबाई प्राप्त कर सकते हैं fdisk -l
, और इसका उपयोग करने के लिए कुछ मापदंडों को निर्धारित कर सकते हैं dd
। उदाहरण के लिए:
> fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 16.1 GB, 16138633216 bytes
4 heads, 16 sectors/track, 492512 cylinders, total 31520768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00017b69
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/mmcblk0p2 122880 26746879 13312000 83 Linux
"स्टार्ट" और "एंड" इकाइयाँ सेक्टर हैं, और नोटिस करें कि सेक्टर का आकार दिया गया है, 512 बाइट्स। के लिए /dev/mmcblk0p2
, 26746879 (पिछले क्षेत्र) - 122,880 (पहले सेक्टर) = 26623999/2 (kB प्रति 2 क्षेत्रों के लिए) / 1024 (एमबी प्रति kB) / 1024 (जीबी प्रति एमबी) = 12.69 है, जो मैं GParted का उपयोग कर विभाजन बढ़ी 12 जीबी तक, इसलिए यह सही लगता है (वास्तव में मुझे 1000 का उपयोग करना चाहिए और भंडारण के साथ भाजक के रूप में 1024 का नहीं होना चाहिए, जो कि 13.31 जीबी तक काम करता है, लेकिन मुझे संदेह है कि gparted है और कुछ अन्य उपकरण भी 1024 का उपयोग करते हैं)।
तो पहली बात यह है कि आप जांचना चाहते हैं कि आपका दूसरा विभाजन वास्तव में छोटा आकार है जिसे आपने इसे सेट किया है। अगला, बस उन नंबरों का उपयोग करें dd
; मेरे लिए यह होगा:
dd if=/dev/mmcblk0 of=rpi.img bs=512 count=26746880
मुझे लगता है कि कैसे dd
काम करता है की एक गलतफहमी से बचने के लिए मुझे एक अतिरिक्त सेक्टर मिला है । यह जाँचने का एक सरल तरीका है कि क्या यह काम करता है:
> fdisk -l rpi.img
Disk rpi.img: 102 MB, 102400000 bytes
255 heads, 63 sectors/track, 12 cylinders, total 200000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00017b69
Device Boot Start End Blocks Id System
rpi.img1 8192 122879 57344 c W95 FAT32 (LBA)
rpi.img2 122880 26746879 13312000 83 Linux
ध्यान दें कि यहां थोड़ी विसंगति है: "स्टार्ट" और "एंड" सेक्टर मूल विभाजन तालिका से मेल खाते हैं, लेकिन ऊपर दिए गए आंकड़ों में कुल आकार केवल 102 एमबी है! ऐसा इसलिए है क्योंकि मैंने वास्तव count=200000
में परम के रूप में उपयोग किया है क्योंकि मैं वास्तव में dd
12 जीबी कॉपी ("कुल 200000 क्षेत्रों" भी नोटिस) के साथ परेशान नहीं करना चाहता था। नीचे दी गई तालिका इसका कारण नहीं बताती है क्योंकि एसडी कार्ड की शुरुआत से छवि की शुरुआत में विभाजन डेटा की प्रतिलिपि बनाई गई डेटा से fdisk को इसकी जानकारी मिल रही है, जो कि, जैसा कि मैंने दूसरे पैराग्राफ में उल्लेख किया है, महत्वपूर्ण है बनाए रखने के लिए। यदि मैंने बाकी चीजों की नकल (ठीक से) की है, तो संख्या मैथुन होगी और छवि व्यवहार्य होगी।
कोशिश करो कि। :)