Chainload other disk MBR?

jmansion

New Member
I have 2 disks - one of which is dedicated to Vista and the other uses OpenSolaris to host grub and chainload Vista or select Solaris or Ubuntu (and eventually FreeBSD, probably, but I haven't loaded it yet).

I was pretty much forced to do it that way because the Linux grubs don't understand UFS or ZFS.

This worked fine for a while but I eventually ran foul of some Vista updates (for the MBR) that would not install with that setup - installed OK when I made the system boot Vista's drive first.

I'm quite happy with the grub setup I had before, but I'm concerned that Solaris is quite a lot different to Linux (and the wiki page for Solaris just redirects to the Linux one) and I don't so much want to boot Solaris directly as to chain to the boot system I had on that drive (I just changed which the BIOS goes to first).

What's the most effective way to do this?

Neogrub and set up a chainload maybe?

James
 
Hi James, welcome to NeoSmart Technologies!

The MBR cannot be chainloaded, only bootsectors can.

So my recommendation would be to use Solaris to run grub-install on the partition then chainload that from EasyBCD.
 
CG is correct in saying that only bootsectors can be chainloaded.

Does Solaris use grub by default or something else? Use EasyBCD and neogrub to chainload the first bootsector on a OS partition on the other drive. Though I think it can be any bootsector (if you have more then one OS on the other drive), I have only managed to chainload the first available Linux install on the disk. I added entries to that grubs menu.lst file that allow me to boot the others or even chainload back to my first hard drive :smile: If you can select any bootsector on the disk, I'd use Ubuntus' and grub to chainload Solaris and BSD.
 
Last edited:
OpenSolaris uses GRUB by default.

However, you cannot use Ubuntu's GRUB (or any other, including NeoGrub for that matter) to boot into OpenSolaris since it installs to a ZFS partition and ZFS is only supported in the copy of GRUB that ships with OpenSolaris (as a result of non-GPL licensing on the ZFS components).

The only way to boot into OpenSolaris & the rest of the entries would be to use OpenSolaris to install GRUB to its own bootsector (either by entering a GRUB console and issuing the setup() command as shown in the documentation at Linux - NeoSmart Technologies Wiki in the reinstalling GRUB section or by issuing grub-install from within the OS) and then having EasyBCD chainload that entry.

All entries can be put on a single menu by having EasyBCD chainload the GRUB partition for each Linux OS seperately (via multiple nst_grub.mbr configurations); or you can have Vista and one GRUB on the top-most bootmenu with an option of booting into the multiple *nix OSes on OpenSolaris's boot menu.
 
Good to know. I have wanted for some time to give Solaris a try. If Ubuntu's GRUB can't load Solaris, what about Fedora? Or do they both use the same version? When I chainload using neogrub from the local hard drive on my laptop I am actually using Fedoras' and not Ubuntus' to do the job.
 
No GRUB except OpenSolaris's own will boot OpenSolaris. The problem is that GRUB is GPL and ZFS (the OpenSolaris filesystem) is CDDL which cannot be distributed in a GPL package. In order to boot into a ZFS partition, GRUB needs the ZFS driver, and that's not shipped under a Linux-compatible license.

Only OpenSolaris is legally free to use the different drivers in its own package; so only it will be able to boot into a ZFS partition.
 
Back
Top