dd скопировать файл образа раздела в файл образа диска

1253
Stefan

Я создаю образ диска и копирую на него 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без создания устройства обратной связи. Поэтому я создал второе изображение hd.img1размером в 512MB - (2048 x 512)байты. Я казнил

mkfs.ext4 hd.img1 

и теперь я хочу скопировать hd.img1в hd.imgположение созданного раздела hd1.img.

Это вообще возможно? Должен ли я dd hd.img1со смещением (пропустить) 2048 x 512?

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

Когда я делаю это, кажется, что я перезаписал свою таблицу разделов, созданную с помощью, sfdiskпоэтому я явно что-то делаю не так.

1
Вместо `dd if = / dev / zero ...` вы можете использовать `truncate` или` fallocate`. Проверьте их руководства. Kamil Maciorowski 6 лет назад 0

1 ответ на вопрос

1
Kamil Maciorowski

skipпропускает внутри ввода. Для перемещения вашей исходной позиции в выходной файл используйтеseek .

От man dd:

seek=BLOCKS

пропускать BLOCKS obsблоки в начале вывода

skip=BLOCKS

пропускать BLOCKS ibsблоки в начале ввода

Похожие вопросы