Mounting disk image files and encrypted filesystems/partitions
Last modified on July 24, 2026 • 2 min read • 323 wordsTo dump a disk (or a partition) into a file, you use the following command:dd if=/dev/hda3 of=file.binThis command writes the complete data on the hda3 partition into the file file.bin.To mount the filesystem that is in the file, you need to create a loopback device:losetup /dev/loop0 file.binNow you can mount the filesystem as usual:mount -r -t filesystemtype /dev/loop0 /mnt/mountpointApparently, one can combine the last two commands into one:mount -t filesystemtype -o loop ./file.bin /mnt/mountpointIf you want to encrypt the data on a file, that contains a whole filesystem, it is getting a bit more complicated:sudo mkdir /mnt/secure (create mount point for the filesystem)dd if=/dev/zero of=path/to/file bs=1k count=409600 (create an empty file with 400 MB size) sudo /sbin/losetup -e xor /dev/loop0 path/to/file/sbin/mkfs -t ext2 /dev/loop0 409600 (format the device as ext2)sudo mount -t ext2 /dev/loop0 /mnt/secure (mount the device file)cd /mnt/securechown username .
dd if=/dev/hda3 of=file.binThis command writes the complete data on the hda3 partition into the file file.bin.To mount the filesystem that is in the file, you need to create a loopback device:losetup /dev/loop0 file.binNow you can mount the filesystem as usual:mount -r -t filesystemtype /dev/loop0 /mnt/mountpointApparently, one can combine the last two commands into one:mount -t filesystemtype -o loop ./file.bin /mnt/mountpointIf you want to encrypt the data on a file, that contains a whole filesystem, it is getting a bit more complicated:sudo mkdir /mnt/secure (create mount point for the filesystem)dd if=/dev/zero of=path/to/file bs=1k count=409600 (create an empty file with 400 MB size) sudo /sbin/losetup -e xor /dev/loop0 path/to/file/sbin/mkfs -t ext2 /dev/loop0 409600 (format the device as ext2)sudo mount -t ext2 /dev/loop0 /mnt/secure (mount the device file)cd /mnt/securechown username . (change the owner of the top level directory of the filesystem)If you want to unmount the filesystem:sudo umount /dev/loop0If you want to get rid of the filesystem, you have to un-associate it from the loop device 0: /sbin/losetup -d /dev/loop0For some reason RedHat 9 doesn’t come with DES support, so for the time being (until I patch the kernel or move to Suse Linux) I am using the faster, but much weaker xor encryption.Suse 9 comes with inbuilt strong encryption and offers already during the installation the possibility to create an encrypted partition. Suse 9 asks during booting for the passphrase to mount the encrypted filesystem. The boot process stops and waits for 2 minutes before continuing if you don’t type in the password. In order to reduce this time, you can edit the file /etc/init.d/boot.crypto. Change in the following line 120 to e.g. 10::${TIMEOUT:=120}If you have missed your chance to type in the passphrase during boot time, you can mount the encrypted partition as follows:/sbin/losetup -e twofish /dev/loop0 /dev/hda7 mount /dev/loop0 /media/confBTW: The information about encrypted filesystems resides in /etc/cryptotab.