Windows / Open Solaris dual boot problem.

Okay, let me sketch the problem.

I did have a ubuntu / Windows XP dual boot scenario that ran grub as my boot loader. I decided I wanted to try out solaris, so I popped in the opensolaris CD and hit install and told it to format and install over my linux partition.

Of course it did that, and installed correctly. However, it overwrote my bootloader, and it caused me to not be able to boot into anything. So I popped in my Windows XP cd and ran FIXMBR so I could get into Windows.

Now I can get into Windows no problem, but it won't see the solaris partition. I can get into the Solaris live CD, and I can see the partition, but I have no idea how to mount the partition to be able to work on it.

I went into format utility, then ran fdisk so it gave me the disk ID. It's c5d1. So I tried mount -F zfs /dev/dsk/c5d1 /mnt - but that did not work.

So I have a couple of questions:

  1. How do I mount the existing opensolaris partition from the opensolaris live CD
  2. How do I configure grub within that once I get it mounted
  3. Within the grub console, how can I tell which harddrive my solaris partition is? (etc hd0,0 hd0,1)

Thanks guys.

I have an XP/Redhat/Solaris triple boot in front of me. Sun modified grub to be able read their disk slices. You need to boot from sun's grub or chainloader to it. I am set up to boot from Solaris, but I have a floppy with grub on it. I can boot from the floppy and edit a menu item to read:
rootnoverify (hd0,2)
chainloader +1

Then I boot that entry and I see the grub menu from the solaris install. If I didn't know it was 2, I don't know any way to figure that out via grub commands. But Solaris only installs on a primary so it must be 0 or 1 or 2 or 3. Windows used up 0. I installed redhat on a secondary so 1 became an extended. 2 came next and that is what Solaris got.

Once you boot Solaris and the OS, not grub, is running, use installgrub to fix your mbr. Read the man page first. You will use -fm when you run it.

Try first "zpool import" and if a pool shows up, run "zpool import <pool-name>".