Selecting diskimage at boottime / booting from diskimage (.dmg)


Is this possible at all?

It seems this is exactly what happens in the scenario of a netboot server…

Basically, what i want is this:

• I have:
I've got a MacPro with 2 HD's, one of which (HD1) contains a partition that holds a large pool of Diskimage (.img) files, each containing a bootable OS, from the permutation of OS-, software- and driver-versions that we need to test against.
The OS-versions range from 10.6.8 to 10.9, with seperate images for numerous minor-versions, (updates) in between the major-versions.

• Current practice:
In order to run and test using a system from one of those diskimages, i boot into a recovery-disk, restore the desired image to a partition i created on the fly on the 2nd harddisk and then reboot into that newly restored-OS/partition. This all works fine!

• Desired, new practice
But what i really would like to be able to do, is create some kind of boot-sequence that allows for booting using the actual disk-image, rather than the restored image on the new partition.

The problem i want to solve doing this, is to be able to boot into the OS on any of those disk-images, without the need for having to edit partitions and restoring the image first.

This would allow our test-users to select the desired boot-image themselves, and save time by skipping the whole restore step. And it's safer since there's no need for partitioning and such.

Looking at network-booting, or how OSX boots from installation-media or a recovery-disk, it seems that this should be possible without too much hassle, but appearantly there's no straight forward solution.

Using a netboot-server containing the image, combined with shadow file etc.. is a valid way to solve this, but at this time i don't have the possibility of using another machine as a netboot server.

Any ideas are most welcome;
I'm a developer myself, and i'm tempted to somehow hack a custom boot-process together, perhaps customizing refind/refit to be able to control EFI boot-loading or something.. but this is currently not feasible time-wise.