Create Linux Loopback File System On Disk File
Can you create a Linux file system without using partition DIRECTLY – sort of file system within file system management?The answer is certainly YES!
With a loopback device in Linux (a feature that’s not natively available in Windows Vista and its predecessors) one can easily create a Linux loopback file system on a regular disk file, and not directly using a disk partition!
To complete this Linux tricks, you need to login with a root user ID for all the steps given below
- Type
dd if=/dev/zero of=/virtualfs bs=1024 count=30720to create a 30MB disk file (zero-filled) called virtualfs in the root (/) directory
- Type
losetup /dev/loop0to confirm that the current system is not using any loopback devices. Replace /dev/loop0 with /dev/loop1, /dev/loop2, etc, until a free Linux loopback device is found. In this case, let’s assume that /dev/loop0 is free for usage
- Tpye
losetup /dev/loop0 /virtualfsto attach the first Linux loopback device (/dev/loop0) with regular disk file (/virtualfs) created in step 1
- Type
echo $?to confirm the previous step is completed successfully without error – a zero will be returned to indicate success. Alternative, typelosetup /dev/loop0to confirm
- Type
mkfs -t ext3 -m 1 -v /dev/loop0to create a Linux EXT3 file system with 1% reserved block count on the loopback device that’s currently associated with a regular disk file. Hence, we are creating a file system within file system, or creating a file system (mkfs) without using a disk partition directly
- Type
mkdir /mnt/vfsto create a directory (as mount point) in /mnt
- Type
mount -t ext3 /dev/loop0 /mnt/vfsto mount the loopback device (regular disk file) to /mnt/vfs as a “regular” Linux EXT3 file system! Now, all the Linux file system-related commands can be act on this unusual Linux file system. For example, you can typedf -hto confirm its “disk usage”, typetune2fs -l /dev/loop0to print its file system settings, create / remove files or directories, etc.
- To un-mount the loopback file system, type
umount /mnt/vfsfollow withlosetup -d /dev/loop0to effectively remove the loopback file system and release loopback device subsequently.
Custom Search




























That’s a good tip !
It is really helpful but I notice that there is a fastest way to find the first unused Linux loopback device :
losetup -f
Hi Guillaume, thank you for reminding me this command option.
Good work!
[...] useful; some readers also really kind to share more info on the topic that I’ve made – e.g. Guillaume, Johnny, Brian, CityShaman, Mroids…(Thank you!) However, the no-so-good WalkerNews.net [...]
[...] build in loopback device that allows user to easily mount and access CD image files. No complicated installation or [...]
Is it possible to do the same in Windows XP or Vista ? and how ?
Anyone know why sometimes, even after a umount of the mounted file, losetup -d /dev/loop returns “LOOP_CLR_FD: Device or resource busy” ?
Just to avoid any confusion, my loop device is 2, I just typo’d above. /dev/loop2.
how can i retain the data in my loopback files even after reboot?
I don’t think the data in loopback file will lost after reboot, unless you’ve recreated the loopback file (especial step 1 to step 6) after a reboot.
where is the data of loopback files stored after reboot..??
is it in some image file?
All that losetup junk is wholly unnecessary.
Just do:
mount -o loop myimage.img /mnt/whateverThe loopback device is automagically handled.
how do you create a disk file.
Actually i found the losetup junk very useful :)
I didn’t go too much into the file systems specifics however I needed to mount an ext4 partition clone (created with partclone) and if the partition was being restored as a plain image file on hdd the automagic of the loopback device wouldn’t work on that file.
However, if I would restore the partition clone on a loopback device created as shown above by Walker, I could then mount it and restore access to my precious files :)
Thank you, Walker! This was a really useful tip for me