RooTer'a yaptığı bir yorumda A) ilk bölüm boyutunu küçülttüğünüzü gparted
, ancak dd
yine de tüm kartı kopyaladığınızı ve B) görüntüye her iki bölümü de eklemek istediğinizi belirtiyorsunuz.
"A" sorununu açıklamak kolaydır: kartın tamamını hala kopyalıyorsunuz, çünkü bunun /dev/mmcblk0
anlamı budur . Bireysel bölümler elbette /dev/mmcblk0p1
ve /dev/mmcblk0p2
. Bu, "B" sayısındaki karmaşıklıktır, ancak başında her bir bölümün başlangıcını ve uzunluğunu endeksleyen dd
bölüm tablosu nedeniyle her bölümü basitçe birleştiremez ve iki dosyayı birleştiremezsiniz /dev/mmcblk0
. Bu olmadan, görüntü kullanılamaz.
Bununla birlikte, her bir bölümün uzunluğunu elde edebilir fdisk -l
ve bunu için bazı parametreleri belirlemek için kullanabilirsiniz dd
. Örneğin:
> 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
"Başlangıç" ve "Bitiş" birimleri sektörlerdir ve sektör boyutunun verildiğine dikkat edin, 512 bayt. İçin /dev/mmcblk0p2
, 26746879 (son sektör) - 122880 (ilk sektör) = 26623999/2 (kB başına 2 sektörler için) / 1024 (MB başına kB) / 1024 (GB başına MB) Ben Gparted'tan kullanarak bölümü büyüdü ki, 12.69 = 12 GB'a kadar, bu yüzden doğru görünüyor (gerçekten 13.31 GB'a kadar çalışan depolama ile bölen olarak 1000 değil 1024 kullanmalıyım, ancak şüpheli ve bazı diğer araçlar da 1024 kullandığından şüpheleniyorum).
Kontrol etmek istediğiniz ilk şey, ikinci bölümünüzün gerçekten ayarladığınız daha küçük boyut olmasıdır. Sonra, bu sayıları sadece dd
; benim için:
dd if=/dev/mmcblk0 of=rpi.img bs=512 count=26746880
Nasıl dd
çalıştığının yanlış anlaşılmasından kaçınmak için orada ekstra bir sektör var . Bunun işe yarayıp yaramadığını kontrol etmenin basit bir yolu var:
> 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
Burada biraz tutarsızlık olduğuna dikkat edin: "Başlat" ve "Bitiş" sektörleri orijinal bölüm tablosuyla eşleşir, ancak istatistiklerin üstündeki toplam boyut yalnızca 102 MB'dir! Bunun nedeni, aslında 12 GB'lık bir kopyayla uğraşmak istemediğim için aslında count=200000
param olarak kullandım dd
. Alttaki tablonun bunu yansıtmamasının nedeni, fdisk'in, SD kartın başlangıcından itibaren görüntünün başlangıcında kopyalanan bölüm verilerinden bilgilerini almasıdır; bu, ikinci paragrafta belirttiğim gibi hayati önem taşır korumak için. Gerisini kopyalamış olsaydım, sayılar copacetic olurdu ve görüntü uygun olurdu.
Bir deneyin. :)