Can a Loopback Filesystem be Partitioned?

I have a disk image file created for use with the Linux version of the QEMU emulator. It's partitioned. I opened it with fdisk and the partitions show up with some extra messages about physical/logical endings:

Disk knoppix.img: 0 MB, 0 bytes
16 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

      Device Boot      Start         End      Blocks   Id  System
knoppix.img1   *           1        8074     4069264+  83  Linux
Partition 1 has different physical/logical endings:
     phys=(1023, 15, 63) logical=(8073, 15, 63)
knoppix.img2            8075        8322      124992   82  Linux swap / Solaris
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 15, 63) logical=(8074, 0, 1)
Partition 2 has different physical/logical endings:
     phys=(1023, 15, 63) logical=(8321, 15, 63)

I noticed that the filename of the image file becomes "knoppix.img1" for the first partition and "knoppix.img2" for the second partition. So... is there a way to mount this outside of QEMU? I tried appending the 1 and 2 to the filename but I just get a "no such directory or file" message. Any ideas? Or am I just sunk?

I'm not 100% sure what you are asking. Do you want to just mount the image?

mount -o loop -t iso9660 filename.iso /mnt/iso

I actually want to mount a partition within the image. The image file that QEMU created is paritioned. 'fdisk' can recognize that it is partitioned, but it seems that mount can't if it's not a block device. I know the image file contains partitions because when I run QEMU it gives me /dev/hda1 /dev/hda2 and /dev/hda3 all from that one loopback file.

EDIT 08232007:

SOLVED!

It took almost two years to find an answer to this, and I'm certain the answer was around when I asked the question. But I'm posting this here to hopefully help anyone else in the future who has the same needs. The key to doing what I wanted to do, is to use the 'offset' option for mounting the loopback file. First use 'fdisk' to determine where your partitions within the loopback file start and what their internal names are. You also need to find out what the offset if going to be. To do that, run the following against the original drive:

localhost ~ # fdisk -l /dev/sdd

Disk /dev/sdd: 2013 MB, 2013265920 bytes
16 heads, 15 sectors/track, 16384 cylinders
Units = cylinders of 240 * 512 = 122880 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               2       16384     1965952+   6  FAT16

Note the number of cylinders your original disk returns and then use that value in the following command:

localhost ~ # fdisk -l -u -C 16384 microsd.img

Disk microsd.img: 0 MB, 0 bytes
16 heads, 15 sectors/track, 16384 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

      Device Boot      Start         End      Blocks   Id  System
microsd.img1             255     3932159     1965952+   6  FAT16

Pay attention to the "start" value for each partition in the image. Multiply that "start" value by 512 to calculate the value to pass with the 'offset' option when you mount the image:

localhost ~ # echo $((255*512))
130560

Here's an example of what it would look like to mount my microsd.img image:

mount  microsd.img1 /mnt/partition1 -o loop,offset=130560

The full explanation cam from here:

Loopback mountin' a specific partition inside a disk image | Tux in a row

Extended example is available here:
Mounting disks with Linux's loopback device

See the EDIT 08232007 section in my original comment for details.