ディスクイメージを作成し、それにmbrをコピーしています。
_dd if=/dev/zero bs=2M count=256 > ./hd.img
dd if=mbr.bin of=hd.img conv=notrunc
sfdisk --force ./hd.img < partitions.sfdisk
_
ここで、_partitions.sfdisk
_は次のようになります。
_2048,,0x83,*
_
_fdisk -lu hd.img
_はこれをリストします:
_./hd.img1 * 2048 1048575 1046528 511M 83 Linux
_
_512
_バイトのセクターで。
ここで、ループデバイスを作成せずに_hd.img1
_を_ext4
_でフォーマットしたいと思います。そこで、512MB - (2048 x 512)
バイトのサイズの2番目の画像_hd.img1
_を作成しました。実行しました
_mkfs.ext4 hd.img1
_
そして今、作成したパーティション_hd.img1
_の位置にある_hd.img
_を_hd1.img
_にコピーしたいと思います。
それも可能ですか? _hd.img1
_のオフセット(スキップ)でdd
_2048 x 512
_する必要がありますか?
_dd if=hd.img1 of=hd.img skip=2048 bs=512
_
これを行うと、sfdisk
で作成されたパーティションテーブルが上書きされたように見えるので、明らかに何か間違ったことをしています。
skip
は入力内をスキップします。 outputファイルの開始位置を移動するには、seek
を使用します。
から man dd
:
seek=BLOCKS
出力の開始時に
BLOCKS
obs
サイズのブロックをスキップします
skip=BLOCKS
入力の開始時に
BLOCKS
ibs
サイズのブロックをスキップします