dd if=/dev/zero if=/home/test.img bs=1M count=512
mkfs -t ext4 /home/test.img #格式化
mount -o loop /home/test.img /dd
或者使用losetup配置为loop设备
dd if=/dev/zero if=/home/test.img bs=1M count=512
losetup -f /home/test.img
mkfs -t ext4 /dev/loop1 #格式化
mount -t ext4 /dev/loop1 /dd
先使用dd或者qemu创建一个空的20G大文件,步骤和第一步一样,然后使用fdisk /var/lib/libvirt/images/openharmony.img 进行分区,分区后如下
sudo fdisk -l /var/lib/libvirt/images/openharmony.img
Disk /var/lib/libvirt/images/openharmony.img: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EC7875C8-5819-7140-B12F-DDED3C4280FD
Device Start End Sectors Size Type
/var/lib/libvirt/images/openharmony.img1 2048 1026047 1024000 500M Linux filesystem
/var/lib/libvirt/images/openharmony.img2 1026048 7317503 6291456 3G Linux filesystem
/var/lib/libvirt/images/openharmony.img3 7317504 9414655 2097152 1G Linux filesystem
/var/lib/libvirt/images/openharmony.img4 9414656 30386175 20971520 10G Linux filesystem
使用kpartx -av /var/lib/libvirt/images/openharmony.img进行mapping操作。
kpartx -av ./openharmony.img
add map loop1p1 (254:0): 0 1024000 linear 7:1 2048
add map loop1p2 (254:1): 0 6291456 linear 7:1 1026048
add map loop1p3 (254:2): 0 2097152 linear 7:1 7317504
add map loop1p4 (254:3): 0 20971520 linear 7:1 9414656
#然后查看被映射的设备
ls /dev/mapper/loop1p*
/dev/mapper/loop1p1 /dev/mapper/loop1p2 /dev/mapper/loop1p3 /dev/mapper/loop1p4
然后就可以像物理设备一样使用了,格式化,挂载等等。使用完成后,使用kpartx -d 删除掉映射就可以了
kpartx -dv ./openharmony.img
del devmap : loop1p4
del devmap : loop1p3
del devmap : loop1p2
del devmap : loop1p1
loop deleted : /dev/loop1