「フル」ディスクイメージであるディスクイメージがあります。たとえば、複製する複数のパーティションが含まれています。一つ(最初のパーティションではありません。)複数のパーティションを持つ外部ドライブのパーティションに接続します(また、ディスクの最初のパーティションに複製していません...)。
イメージを FDisk して以下の結果を得る。
#fdisk -l 2013-02-09-wheezy-raspbian.img ディスク 2013-02-09-wheezy-raspbian.img: 1939MB, 1939865600バイト 255ヘッド、63セクター/トラック、235シリンダー、合計3,788,800セクター 単位= 1 * 512 = 512バイトセクタ セクタサイズ(論理/物理):512バイト/512バイト I/Oサイズ(最小/最適): 512バイト/512バイト ディスク識別子:0x00014d34 デバイス起動開始エンドブロックIDシステム 2013-02-09-wheezy-raspbian.img1 8192 122879 57344 c W95 FAT32(LBA) 2013-02-09-wheezy-raspbian.img2 122880 3788799 1832960 83 Linux #
ブロックデバイスは次のとおりです。
#fdisk -l /dev/sdc ディスク /dev/sdc: 8014MB, 8014266368バイト 247ヘッド、62セクター/トラック、1022シリンダー、合計15652864セクター 単位= 1 * 512 = 512バイトセクタ セクタサイズ(論理/物理):512バイト/512バイト I/Oサイズ(最小/最適): 512バイト/512バイト ディスク識別子:0x00000000 デバイス起動開始エンドブロックIDシステム /dev/sdc1 2048 131071 64512 e W95 FAT16(LBA) /dev/sdc2 131072 15652863 7760896 83 Linux #
イメージの2番目のパーティションは、ブロックデバイスの2番目のパーティションを置き換えたいと思います。結局のところ、空き領域が損傷していることを心配しないでください。 GPartedを使用してクリーンアップし、とにかく他の作業に必要になります。
答え1
# losetup --find --show --partscan --read-only 2013-02-09-wheezy-raspbian.img
/dev/loop7
# dd if=/dev/loop7p2 of=/dev/narnia bs=1M
それでも問題が解決しない場合は、次のいずれ--partscan
かの方法を使用できます。
# partx -a /dev/loop7
# kpartx /dev/loop7
または同様のパーティションマッピングソリューション。
正しいかどうかを確認するには、まずインストールする必要があります。
もちろん、fdisk出力を読み取って直接提供することもできます。dd
つまりskip=131072
、パーティションのある場所を読み始めるために多くの入力ブロックをスキップしますが、実際のパーティションを表示するにはループデバイスを使用する方が良いです。
答え2
次のように動作する必要があります。
dd if=/path/to/2013-02-09-wheezy-raspbian.img2 of=/dev/sdc2 bs=4096 conv=notrunc,noerror
もし=複製する画像の設定
~の=イメージを複製するターゲットパーティションを設定します。
答え3
- イメージをループバックデバイスとしてマウントします。
losetup -fP yourImage.img
- これで、イメージの各パーティションに直接アクセスできます。やむを得ず使用する必要がある場合は、
dd
この方法を使用すれdd if=/dev/loop0p1 of=image.img
ば良いのですが、私の考えにはcat
この方法をもっと好むようです。ルートシェルで実行できますcat /dev/loop0p1 > image.img
。どちらの例も最初のパーティションが必要で、割り当てられたループバックデバイスが次のようになっているとします。/dev/loop0
- ループバックデバイスを使い終わったら、を使用してループバックデバイスを取り外すことができます
losetup -d /dev/loop0
。再びこれが/dev/loop0
ループバック装置であると仮定する。
答え4
このコマンドを使用すると、2番目のパーティションのみを別のイメージにコピーできます。
dd if=2013-02-09-wheezy-raspbian.img of=second.img bs=512 skip=122880
その後、ディスクのパーティションの場所にコピーできます。
dd if=second.img of=/dev/sdc2 bs=512
それとも命令でもできます。
dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdc2 bs=512 skip=122880
書き込み前に/ dev / sdc2をアンマウントしたことを確認してください。