Hi,
The difficult one is Solaris. A bit like M$/Windoze, it is not overly friendly to having other Operating Systems on the same box. It (well Solaris 8 anyway) has a graphical boot manager for intel archtecture which, as far as I recall, only supports booting from the four primary partitions on the first physical drive. So, I agree with d3funct you have to do it in this order :
Win2k first into the first primary partition.
Then linux putting lilo into a linux partition, i.e. as /dev/hda2 /dev/hda3 or /dev/hda4 (must be primary not logical) & making a temporary boot floppy to access the linux system because you're not putting it in the master boot record. (You can just have a small primary for /boot and make some logical partitions for the rest if you like, e.g. /dev/hda5 for '/'; /dev/hda6 for '/usr'; /dev/hda7 for swap)
Then install solaris into another primary partition, e.g. what linux would call /dev/hda3. Solaris uses 'slices' which are kind of like partitions but under intel architecture are created within a single physical partition. This is similar to FreeBSD, et al. Because of the slices, etc., you will find that utilities like partition magic won't want to play with your disk anymore! Incidentally, you can access solaris slices under Linux if you compile in 'ufs' (Unix File System) and 'solaris partition' support.
There is a solaris/linux howto here -->
.
Hope this helps.. Good Luck !