dd bigfile
losetup /dev/loop1 bigfile
mkfs.ext4 /dev/loop1
losetup命令:设置循环设备
循环设备可以把文件虚拟成块设备(block device),以便模拟整个文件系统,这样用户可以将其看作是硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。
比较常用的是将.iso文件当作循环设备加载并访问。
1、命令参数
losetup:设定与控制循环(loop)设备。
语法:
losetup 循环设备
参数:
循环设备可以是/dev/loop0, /dev/loop1 ... /dev/loop7
-a 显示所有循环设备的状态。
-d 卸除设备
-e <加密选项> 启动加密编码
-f 寻找第一个未使用的循环设备
-o <偏移量>设置数据偏移量,单位是字节。
例:
(一)将1.iso文件虚拟成循环设备
在shell下输入:
losetup /dev/loop0
1.iso
然后在shell下
losetup /dev/loop0
会得到一些相关的信息。
(二)卸作循环设备/dev/loop0
losetup -d /dev/loop0
在运行losetup /dev/loop0 可以看出,设备已经被卸除了。
(三)查找第一个未使用的循环设备
losetup -f
(四)显示所有已经使用的循环设备状态
losetup -a
实战:
创建一个5M的文件,并虚拟成循环设备进行操作。
1、创建一个文件5M的文件,5120个扇区,每个扇区大小1k
dd if=/dev/zero
of=abc
bs=1k
count=5120
2、虚拟成循环设备
losetup -f abc
//把abc虚拟成一个循环设备,具体在哪个循环设备上用-f自动查找。
3、格式化虚拟磁盘文件
mkfs.ext4 /dev/loop0
4、挂载虚拟磁盘文件
mount /dev/loop0
/mnt/iso
5、可以复制文件到里面或删除(测试成功)
6、卸载文件系统
umount /mnt/iso
7、将循环设备卸除。
losetup -d /dev/loop0
给我的感觉好比loop好比是光驱,而文件就像光盘,放到loop中,之后挂载一下就可以访问了,不知道这么理解对不。