RooTerへのコメントで、A)で初期パーティションサイズを縮小したgparted
が、dd
まだカード全体をコピーしていること、およびB)両方のパーティションをイメージに含めることを述べています。
問題「A」は簡単に説明できます/dev/mmcblk0
。カード全体をコピーしているのは、それが言及しているためです。個々のパーティションはもちろんある/dev/mmcblk0p1
と/dev/mmcblk0p2
。これは問題 "B"の複雑さですが、dd
各パーティション/dev/mmcblk0
の先頭と長さをインデックスする先頭のパーティションテーブルのため、各パーティションを単純に2つのファイルを連結することはできません。これがないと、イメージは使用できなくなります。
ただし、から各パーティションの長さを取得し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(最後のセクター)-122880(最初のセクター)= 26623999/2(kBあたり2セクター)/ 1024(kBあたりkB)/ 1024(GBあたりMB)= 12.69、gpartedを使用してパーティションを拡大しました12 GBまでなので、これは正しいようです(実際、ストレージの除数として1024ではなく1000を使用する必要があります。これは13.31 GBになりますが、gpartedなどのツールも1024を使用していると思われます)。
したがって、最初に確認する必要があるのは、2番目のパーティションが実際に設定した小さいサイズであることです。次に、これらの数値を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 MBです!これは、実際にcount=200000
パラメーターとして使用したのは、実際dd
には12 GBのコピーに煩わされたくなかったからです(「合計200000セクター」にも注意してください)。一番下の表にこれが反映されない理由は、fdiskがSDカードの先頭からイメージの先頭に逐語的にコピーされたパーティションデータから情報を取得しているためです。維持する。残りを(適切に)コピーしていた場合、数値は一致し、イメージは実行可能になります。
試してみてください。:)