You have a raw disk image named slurm.img. Let's inspect it to see what's up. # fdisk -l slurm.img Disk slurm.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: dos Disk identifier: 0xe1b0245d Device Boot Start End Sectors Size Id Type slurm.img1 * 2048 2099199 2097152 1G 83 Linux slurm.img2 2099200 41943039 39843840 19G 8e Linux LVM We can mount this using losetup(8). # losetup -f /dev/loop0 # losetup /dev/loop0 slurm.img Note the 'losetup -f' which identifies the first unused /dev/loop* device. Now use kpartx(8) to map the partitions of the loop device (assuming loop0, substitute as appropriate): # kpartx -a /dev/loop0 # lsblk /dev/loop0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 20G 0 loop ├─loop0p1 253:3 0 1G 0 part └─loop0p2 253:4 0 19G 0 part We know that there's supposed to be LVM somewhere, so we must instruct LVM to look for data on loop devices if we haven't done so already: # lvmdevices --adddev /dev/mapper/loop0p2 # vgscan -a [ ... ] Found volume group "cl_slurm" using metadata type lvm2 # vgchange -ay cl_slurm 2 logical volume(s) in volume group "cl_slurm" now active # ls /dev/mapper/cl_slurm-* /dev/mapper/cl_slurm-root /dev/mapper/cl_slurm-swap Now we can mount the partition and poke around: # mount -oro /dev/mapper/cl_slurm-root /some/mountpoint We're done, let's clean up. # umount /some/mountpoint # vgchange -an cl_slurm 0 logical volume(s) in volume group "cl_slurm" now active # kpartx -d slurm.img