I got below from http://blogs.sun.com/tdh/entry/grub_error_17_cannot_mount and I used this for fixing problem.
"error 17, cannot mount selected partition"
1. Boot into Solaris Safeboot mode. You can get access at the Grub menu, usually the 2nd option. Note: I had to use the DVD install media to do this.
2. Mount the found Solaris partition on /a Safeboot will usually find the slice on the disk with Solaris and ask if you want it to mount on /a. Select Yes.
3. Move /a/dev, /a/devices, and /a/etc/path_to_inst to another name (I just append .orig) and then create new directories, (mkdir) /a/dev and /a/devices, and touch /a/etc/path_to_inst. I did not do this step.
4. Run "devfsadm -r /a" to rebuild the device tree.
5. Edit /a/boot/solaris/bootenv.rc and modify the line with "setprop bootpath '/pci@0,0....' to match the path you'll find mounted for /a (i.e. run a 'df -k' command, and you should see /a mounted from /dev/dsk/c1d0s0 or something, then run 'ls -l /dev/dsk/c1d0s0' or whatever your device listed was, and you should see the actual link point to ../../devices/pci@0,0/...) The path to bootpath you want should be the hard disk which is mounted as /a and you just need to find the expanded /devices/pci@0,0/... path and put that in the bootenv.rc file on the Solaris root filesystem on the hard disk (sans the /devices/ prefix of course). This is a key step.
6. Now run "bootadm update-archive -v -R /a" to rebuild the boot-archive on /a.
7. Make sure to edit /etc/vfstab
8. run a 'touch /a/reconfigure'
9. Run "cd /; sync; sync; sync; umount /a" And I skipped this one.
10. and finally reboot.