Linux 文件模拟磁盘

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。要将该64M文件模拟磁盘,并将磁盘分为两个30M大小的分区,可以按照以下步骤进行操作: 1. 创建64M大小的文件作为模拟磁盘: 在Linux系统中,可以使用以下命令创建一个64M大小的文件: ``` dd if=/dev/zero of=disk.img bs=1M count=64 ``` 这个命令会创建一个名为“disk.img”的64M大小的文件。 2. 将磁盘分为两个30M大小的分区: 在Linux系统中,可以使用fdisk命令对磁盘进行分区操作。以下是对该64M文件进行分区的步骤: a. 使用fdisk命令打开磁盘: ``` fdisk disk.img ``` b. 然后输入“n”创建一个新分区,输入“p”表示创建主分区,然后输入起始扇区和结束扇区。可以将第一个分区设置为30M大小,输入“+30M”表示30M大小。 c. 在创建第一个分区后,使用“n”创建第二个分区,同样选择主分区。输入起始扇区和结束扇区,将第二个分区设置为30M大小,输入“+30M”表示30M大小。 d. 在创建完分区后,使用“w”保存并退出fdisk。 3. 格式化分区: 在Linux系统中,可以使用mkfs命令对分区进行格式化。以下是对两个分区进行格式化的步骤: a. 格式化第一个分区: ``` mkfs.ext4 -F -L partition1 disk.img -O ^64bit ``` 这个命令将第一个分区格式化为ext4文件系统。 b. 格式化第二个分区: ``` mkfs.ext4 -F -L partition2 disk.img -O ^64bit ``` 这个命令将第二个分区格式化为ext4文件系统。 现在,你已经成功地将该64M文件模拟成一个磁盘,并将其分为两个30M大小的分区。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值