(original article by Jim Klimov)
This article explains some approaches to multi-booting OpenIndiana residing along with some other operating systems on the same hard disk (or SSD). First, a few words about the limitations that you should be aware of.
OpenIndiana currently supports only booting from disks with legacy MBR partitioning, which among other things limits the boot drives to 2Tb and less. On many systems this is a moderate limitation, because it is recommended to keep the OS (mirror) separately from data/zone pool, frequently stored on a larger set of larger drives.
UNCERTAIN: OpenIndiana requires(?) that its MBR partition is among the "primary" four partitions (and if your set of operating systems needs more partitions, at least for data volumes, you might require to use one of these four to define an "extended" partition - a large container spanning the "rest of the disk", usually after a contiguous space divided among the remaining three primary partitions; note below about tricks for systems with over 9 partitions).
While OI lays out a "slice table" in its partition, and actually uses one of these slices (the only one by default, covering most of the partition) for the ZFS rpool, it is also picky in that a drive should not contain several MBR partitions marked with Solaris aka type 0x82 (the number is also used by default for Linux swap partitions).
OpenIndiana uses a special branch of GRUB with ZFS support and may lack direct support of newer filesystem and volume layouts relevant for other operating systems, though it can chainload Windows and can directly load Linux kernel and initrd miniroot files from partitions formatted as ext2/ext3 (however it can not, for example, interpret partitions with Linux LVM - containers of volumes with filesystems inside).
Now that we've covered what you can not do, let's see what you can do, and how you can do it....