dd Скопіюйте файл зображення розділу в файл образу диска


1

Я створюю образ диска і копіюю на нього 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тому я очевидно роблю щось не так.


Замість dd if=/dev/zero ...вас можна використовувати truncateабо fallocate. Перевірте їх посібники.
Каміль Маціоровський

Відповіді:


1

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

Від man dd:

seek=BLOCKS

пропустити BLOCKS obsрозміри блоків на початку виводу

skip=BLOCKS

пропустити BLOCKS ibsрозміри блоків на початку введення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.