the best way to do this is to have one /boot partition that both use. just have the names of the kernels and initrd images different. Also if you don't want to do that just put all of the /boot files from both systems in both /boot folders
something like this
image=/boot/vmlinuz-2.4.19-16mdk
label=Mandrake-9.0
root=/dev/sda2
initrd=/boot/initrd-2.4.19-16mdk.img
append="quiet devfs=mount"
vga=785
read-only
image=/boot/vmlinuz-2.4.18-19.7.x
label=RedHat-7.3
root=/dev/hda5
initrd=/boot/initrd-2.4.18-19.7.x.img
append="hdc=ide-scsi"
vga=785
read-only
other=/dev/hda1
label=WinXP
table=/dev/hda
other=/dev/fd0
label=Floppy
unsafe
The reason is when you run lilo the images will have to be in /boot or it won't find them. your file is just setting up the same kernel for both images and when you boot into the redhat root filesystem with the mandrake kernel it is not configured to work right. I would bet that the partition where redhat is does not contain the modules for the mandrake kernel
example /boot folder
Code:
[david@firedragon david]$ ls /boot
boot.0300 kernel.h@ System.map@
boot.b kernel.h-2.4.19-16mdk System.map-2.4.18-18.7.x
chain.b lost+found/ System.map-2.4.18-19.7.x
config@ map System.map-2.4.19-16mdk
config-2.4.18-18.7.x message@ us.klt
config-2.4.18-19.7.x message-graphic vmlinux-2.4.18-18.7.x*
config-2.4.19-16mdk message-text vmlinux-2.4.18-19.7.x*
grub/ module-info@ vmlinuz@
initrd-2.4.18-18.7.x.img module-info-2.4.18-18.7.x vmlinuz-2.4.18-18.7.x
initrd-2.4.18-19.7.x.img module-info-2.4.18-19.7.x vmlinuz-2.4.18-19.7.x
initrd-2.4.19-16mdk.img* os2_d.b vmlinuz-2.4.19-16mdk*