您当前的位置:首页 > 计算机 > 系统应用 > Linux

Linux 文件模拟磁盘

时间:07-12来源:作者:点击数:

1.整个文件当一个磁盘不分区使用

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 

2.整个文件当一个磁盘且分区使用

先使用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
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门