It looks like its initrd is aimed at a partition that's not even there. This could get mungly. Normally its just a matter of booting using the kernel argument of root=/dev/hda4 (or whatever is your root), but FC has always used initrds, so the kernel actually boots to the initrd, there's a tiny /init script in there that basically just loads a bunch of kernel modules (also in the initrd file, maybe does some other fun and games, and then exec's the init on the real root filesystem.
The only way I know of to fix that is to unpack the initrd, usually named initrd.gz, loopback mount it, hand edit the script so its aimed at the right partition, unmount the loop and repack it.
Something weird happened though if you've got FC5 on one partition and FC6 on another? Do you have /boot shared between the two? If I remember right (going back a bit, haven't messed with FC since 3ish), initrd.gz is a symplink to whichever one matches the kernel, like initrd-2.6.14.blah.tar.gz
This is why initrds suck.
Regardless, if you want to go wacky in depth on this:
Find the initrd that the FC6 kernel is using from your grub.conf
mount -o loop initrd /mnt/somewhere
nano /mnt/somewhere/init (it might be /mnt/somewhere/sbin/init)
Look for the switchroot call, its probably going to be a variable, track up in the script to where that partition is declared, fix it, umount, re-gunzip, etc...
If you want to just forgo using an initrd, you kinda can't. FC modularized ext3 support and its one of the modules that the initrd loads before switch rooting. So, the kernel aimed directly at the rootfs can't read the rootfs. This is wacky fun.
If you want to compile your own kernel with all the ext3 support in it and just aim that right at the FC6 partition, its probably the best way to go, depending on your skill level. Heck 3/4s of this whole missive may seem pedantic.
Then again, I may be on crack and you can just pass the kernel root=/dev/hda4 or whatever and the initrd will take the kernel argument and run with it...