前天刚刚从网上download了一个windwos7装上了,特爽,哈哈,可重启后,我的opensolaris不见了,grub丢失了,与linux修复还有一些区别,下面是我操作的一些细节,以便大家以后参考
?
问题原因:
1、在同一台X86机器上即安装了Open Solaris 11/08,又安装了Windows 7,并且使用Open Solaris的Grub作为引导程序。
2、由于重装Windows,会重新覆盖MBR,导致Grub不能使用,不能直接启动open Solaris。
问题解决方法:
需要Open Solaris X86 11/08的第一张CD光盘,就可以重新安装Grub
步骤:
1)设置机器并从Open Solaris X86 11/08光盘启动
2)在出现Grub界面的时候,按“c”进入grub命令模式,如下界面:
grub>
3)在grub命令模式下,找到硬盘上已安装的Open Solaris系统(两种方法选择其一即可,在find的时候软驱会很响,不用担心大概10秒左右结果就输出了)
grub>find /platform/i86pc/multiboot
(hd0,1,a) ----------系统输出内容
grub>find /boot/grub/menu.lst
(hd0,1,a) ----------也可以用查找boot menu文件的方法得到同样的结果
4)得到Open Solaris系统安装所在的硬盘编号后,将它设为root device
例子里的(hd0,1,a),指的是第1块硬盘第二个fdisk分区中的第一个slice。
grub>root (hd0,1,a)
5)设置要启动的文件系统的位置,指定boot和archive文件,最后直接由grub界面启动Open Solaris X86系统
grub>bootfs rpool/ROOT/opensolaris
grub>kernel$ /platform/i86pc/kernel/unix -B $ZFS-BOOTFS
grub>module$ /platform/i86pc/boot_archive
grub>boot
此时系统直接从grub命令模式启动Solaris X86系统(有ZFS挂接的系统启动)
如果记不住这些命令,我们可以借助menu.lst文件,其实这个文件是原grub用于启动的菜单,并含有这些启动命令,可供我们参考。一般这个文件的位置在/boot/grub/menu.lst,我们可以使用cat显示内容。
grub>cat /boot/grub/menu.lst
6)启动系统之后用root登陆,运行、
installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
最后c1t1d0s0指的是你所要安装mbr的硬盘。
确定这个有两种方法,一个方法是用
iostat -En
看看最前面出现的是C几,我的电脑是c3d0
所以把后面的c1t1d0s0换成c3d0s0