Note: Someone HAS "taught grub how to read solaris ufs filesystems", as of solaris 10. But just in case you are stuck with some old legacy version, I'll leave this page up here!
So, you've installed redhat 8, which defaults to using GRUB as a bootloader... and suddenly, your solaris partition refuses to boot, even if you specified "boot other os" entries when you went through the redhat install process. It turns out there is one magic line missing that solaris likes to have:
This makes that fdisk partition the "active" one, at least apparently, to the solaris bootloader, so that it keeps working.
There are two ways to go from here: manually type things into the grub command line after power-on, or adjust the grub config file. your life will be easier if you adjust the grub config file.
Note that until someone teaches grub how to read solaris ufs filesystems, the grub config file MUST be on a linux partition, in a linux filesystem. Thats the downside. The upside is, you can edit the file normally, and then on the next reboot, grub will read in the file. There's no need to "reinstall" the boot loader, like lilo makes you do.
This assumes that solaris is on fdisk partition #1. If #2, adjust the above to usetitle Solaris rootnoverify (hd0,0) makeactive chainloader +1
rootnoverify (hd0,1), and so on. If you have a separate "Solaris x86 boot" partition, and regular solaris partition, specify the "x86 boot" partition as the one for grub to use.
If you havent loaded any OS yet, and you are at the grub "boot prompt", you can in theory just type in the above lines, followed by "boot", and it should boot solaris... but then you'll have to waste your time by typing it in again each and every time until you edit the file in linux. So just boot into linux and do that in the first place.
Much thanks to Dan Kegel's GRUB page, which reminded me of the magic needed.
Written by: Philip Brown
Bolthole Top - Bolthole Solaris Top - Search Bolthole.com