Наличие этих файлов (особенно initrd... - для многих ядер он не нужен) проверял? Пути должны быть заданы относительно корневого каталога той системы, из которой устанавливается загрузчик (то есть ядро второй системы надо скопировать туда же, где лежит ядро первой, либо подмонтировать раздел со вторым ядром (можно временно - по
крайней мере для LILO)).
Главное - понимать, что загрузчик не имеет понятия о разделах (и, по-моему, о файловых системах тоже) - он прописывает в загрузочный сектор (или куда-нибудь ещё) физическое местоположение ядра. И, например, если случайно

удалить раздел, на котором лежит ядро, то оно всё равно преспокойно загрузится (правда root примонтировать не сможет - но это уже другой разговор)
P. S. Поправьте меня, если что не так.