(四)恢复被windows破坏的grub
如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub。
1、把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2、等安装界面出来后,按F4键,也就是linuxrescue模式。
3、一系列键盘以及几项简单的配制,过后就“继续”了这个过程,这里不说了,比较简单。
4、然后会出现这样的提示符:
sh#
5、我们就可以操作GRUB了。输入grub:
sh#grub
会出现这样的提示符:
grub>
我们就可以在这样的字符后面,输入:
grub>root(hdX,Y)grub>setup(hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。setup(hd0)就是把GRUB写到硬盘的MBR上。
(五)用NTLoader来引导linux
如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub。并用windows的NTLoader来引导linux。
1、安装grub
我用的grub是Redhat8.0带的grub安装包:grub-0.92-7.rpm
安装:rpm-ivhgrub-0.92-7.rpm
其他安装方式也一样,只要你安装上grub就行了。RH8缺省用的grub,1、2步骤可以省了。
2、建立grub的环境
cp/usr/share/grub/i386-pc/*/boot/grub
3、生成grub的配置文件/boot/grub/menu.conf
按照上面所讲的grub.conf来生成一个配置文件。
注意了,这里我的linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),
你的可能不一样了,不能完全照着"画瓢"噢!下面第3步install的中的分区位置也应该和你的系统一致。
安装grub至Linux分区boot
将grub的stage1安装到/dev/hda4的boot扇区(hd0,3)。过程如下:
/sbin/grub(运行grub)grub>install(hd0,3)/boot/grub/stage1d(hd0,3)(hd0,3)/boot/grub/stage2p(hd0,3)/boot/grub/menu.conf
(注意,上面"grub>"为grub的提示符,其后内容写在一行上。)
4、取得grub的boot信息
过程如下:
ddif=/dev/hda4of=/grub.lnxbs=512count=1
这样得到grub的引导信息,只要用NTLoader来加载它就行了。
5、将上面得到的grub.lnx弄到Windows的C盘根目录下,可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\;情况允许也可以直接在Linux下拷贝到C:了。我的C盘(即设备/dev/hda1)为FAT32,可以直接从Linux下弄过去了。如下:
mount-tvfat/dev/hda1/mnt/ccp/grub.lnx/mnt/cumount/mnt/c
6、修改NTLoader的boot.ini
在其中加入一行:C:\grub.lnx="RedhatLinux-GRUB"
加入后boot.ini的内容如下:
以下为引用的内容:
[bootloader]timeout=15default=C:\boot.lnx[operatingsystems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWindowsXPProfessional"/fastdetect[VGAmode]"/basevideo/sosC:\grub.lnx="RedhatLinux-GRUB"
可以用NTLoader加载Linux了,其实上面过程基本上和用NTLoader加载LILO一样。其基本思想就是用NTLoader来加载LILO或grub的引导区(grub.lnx),其中的关键就是LILO或grub的引导区的获取。