背景:在同一台X86机器上即安装了Solaris 1/06, 又安装了Windows,并且使用 Solaris的Grub作为引导程序。
由于某些原因不得不重装Windows,会重新覆盖 MBR,导致Grub不能使用,不能直接启动Solaris。
我们只需要 Solaris 1/06的第一张CD光盘或者DVD光盘,就可以重新安装Grub,

步骤:

1)设置机器并从Solaris 1/06光盘启动

2)在出现Grub界面的时候,按c进入grub命令模式

3)找到硬盘上已安装的Solaris系统的


grub>find /platform/i86pc/multiboot

(hd0,2,a)

我们也可以查找另一个文件:find /boot/grub/menu.lst
4) 得到硬盘编号,将它设为root device

例子里的(hd0,2,a),指的是第1块硬盘第三个fdisk分区中的第一个slice。


grub>root(hd0,2,a)

Filesystem type is ufs, partition type 0x000000bf


5) 指定boot和archive文件,启动Solaris

grub>kernel /platform/i86pc/multiboot
grub>module /platform/i86pc/boot_archive
grub>boot

如果记不住这些命令,我们可以借助menu.lst文件,其实这个文件是原grub用于启动的菜单,并含有这些启动命令,可供我们参考。
一般这个文件的位置在/boot/grub/menu.lst,我们可以使用cat显示内容。
grub>cat /boot/grub/menu.lst


6) 进入Solaris后,使用root身份安装grub

#/usr/sbin/installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d0s0

 

/

2)在出现Grub界面的时候,按c进入grub命令模式

3)找到硬盘上已安装的Solaris系统的


grub> find   /platform/i86pc/multiboot

(hd0,2,a)

我们也可以查找另一个文件:find   /boot/grub/menu.lst
4)   得到硬盘编号,将它设为root   device

例子里的(hd0,2,a),指的是第1块硬盘第三个fdisk分区中的第一个slice。


grub> root(hd0,2,a)

Filesystem   type   is   ufs,   partition   type   0x000000bf


5)   指定boot和archive文件,启动Solaris

grub> kernel   /platform/i86pc/multiboot
grub> module   /platform/i86pc/boot_archive
grub> boot

如果记不住这些命令,我们可以借助menu.lst文件,其实这个文件是原grub用于启动的菜单,并含有这些启动命令,可供我们参考。
一般这个文件的位置在/boot/grub/menu.lst,我们可以使用cat显示内容。
grub> cat   /boot/grub/menu.lst