dd Partitions-Image-Datei in Disk-Image-Datei kopieren

1375
Stefan

Ich erstelle ein Disk-Image und kopiere eine Mbr darauf:

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 

wo partitions.sfdisksieht das so aus:

2048,,0x83,* 

fdisk -lu hd.img jetzt listet dies auf:

./hd.img1 * 2048 1048575 1046528 511M 83 Linux 

mit Sektoren von 512Bytes.

Jetzt mag ich zu formatieren hd.img1mit, ext4ohne ein Loop - Gerät zu schaffen. Also habe ich ein zweites Bild hd.img1mit der Größe von 512MB - (2048 x 512)Bytes erstellt. Ich habe hingerichtet

mkfs.ext4 hd.img1 

und jetzt will ich kopieren hd.img1in hd.imgauf der Position der erstellten Partition hd1.img.

Ist das überhaupt möglich? Muss ich dd hd.img1mit einem Offset (überspringen) von 2048 x 512?

dd if=hd.img1 of=hd.img skip=2048 bs=512 

Wenn ich das tue, scheint es, dass ich meine erstellte Partitionstabelle überschrieben habe, sfdiskalso mache ich offensichtlich etwas falsch.

1
Anstelle von "dd if = / dev / zero ..." können Sie "truncate" oder "fallocate" verwenden. Überprüfen Sie ihre Handbücher. Kamil Maciorowski vor 7 Jahren 0

1 Antwort auf die Frage

1
Kamil Maciorowski

skipÜberspringt die Eingabe. Um Ihre Startposition in der Ausgabedatei zu verschieben, verwenden Sieseek .

Von man dd:

seek=BLOCKS

überspringbare BLOCKS obsBlöcke zu Beginn der Ausgabe

skip=BLOCKS

überspringgroße BLOCKS ibsBlöcke zu Beginn der Eingabe