在Linux中,有一种特殊的块设备叫loop device,这种loop device设备是通过映射操作系统上的正常的文件而形成的虚拟块设备。因为这种设备的存在,就为我们提供了一种创建一个存在于其他文件中的虚拟文件系统的机制。
你有没有想过在Linux的文件管理系统中再创建一个文件系统,这时你就需要用到回环设备(loop device)。
在Linux中,回环设备允许用户以一个普通磁盘文件虚拟一个块设备。设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 virtualfs 的普通文件而非操作实际磁盘或分区的轨道和扇区。
当然,virtualfs这个名字你可以任意取,但这个文件必须存在于一个实际的磁盘上,而这个实际的磁盘必须比虚拟的磁盘(virtualfs)容量更大。
With a loopback device in Linux, one can easily create a Linux loopback file system on a regular disk file, and not directly using a disk partition!
回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中。这样的一个将全部内容保存在一个普通文件中的文件系统,被称为虚拟文件系统(virtual file system)。
1. create loop device
dd if=/dev/zero of=/virtualfs bs=1024 count=307200 //300M
losetup /dev/loop0 /virtualfs
Note, check if loop device is busy or not
# ls /dev/loop
loop-control loop1 loop3 loop5 loop7
loop0 loop2 loop4 loop6
# losetup /dev/loop0
losetup: /dev/loop0: No such device or address
if show above , it's ok!!
2. mount
2.1 create filesystem
mke2fs -m 1 /dev/loop0
2.2 mount
mkdir /mnt/vfs
mount /dev/loop0 /mnt/vfs
cd /mnt/vfs/