dd 将分区映像文件复制到磁盘映像文件

dd 将分区映像文件复制到磁盘映像文件

我正在创建一个磁盘映像并在其上复制一个 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.img1hd.img创建的分区的位置hd1.img

这有可能吗?我是否必须dd hd.img1使用偏移量(跳过)2048 x 512

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

当我这样做时,似乎我覆盖了我创建的分区表,sfdisk所以我显然做错了什么。

答案1

skip在输入中跳过。要移动你的起始位置输出文件使用seek

man dd

seek=BLOCKS

BLOCKS obs在输出开始时跳过大小的块

skip=BLOCKS

BLOCKS ibs在输入开始时跳过大小的块

相关内容