修复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

你可能感兴趣的:(c,linux,windows,unix,Solaris)