我正在创建一个磁盘映像并在其上复制一个 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
skip
在输入中跳过。要移动你的起始位置输出文件使用seek
。
从man dd
:
seek=BLOCKS
BLOCKS
obs
在输出开始时跳过大小的块
skip=BLOCKS
BLOCKS
ibs
在输入开始时跳过大小的块