当前位置: 代码迷 >> Solaris >> 修理Open Solaris Grub
  详细解决方案

修理Open Solaris Grub

热度:2615   发布时间:2013-02-26 00:00:00.0
修复Open Solaris Grub

前天刚刚从网上download了一个windwos7装上了,特爽,哈哈,可重启后,我的opensolaris不见了,grub丢失了,与linux修复还有一些区别,下面是我操作的一些细节,以便大家以后参考

?

问题原因:
1
、在同一台X86机器上即安装了Open Solaris 11/08,又安装了Windows 7,并且使用Open SolarisGrub作为引导程序。
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)设置要启动的文件系统的位置,指定bootarchive文件,最后直接由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

  相关解决方案