全部博文(512)
分类: LINUX
2006-02-20 15:12:32
一、本解决方案所要解决的问题:
我们可能在安装windows时,把GRUB或者LILO从MBR上清除。如果在没有系统引导软盘只有安装盘的情况下,所采取的解决办法。
常用恢复MBR的办法还有一种是用升级系统的办法,这种办法经过验证,是极不可靠的。我们经过近二三十次的实践,证明效果几乎很少,这个办法用于没有安装GRUB的还是可行的。如果已经把GRUB安装上,后来就重装WINDOW或者别的操作系统而带的LILO,而导致系统不能正常引导,这种办法就失效了。所以说,本方案最适合GRUB的恢复。二、解决过程[以RedHat 7.3为例]
1.把安装盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,按[F4]键,也就是linux rescue模式。如果是Redhat 8.0可能是F5吧。
然后在boot下输入
linux rescue
然后就是回车一下。
3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
4.然后会出现这样的字符
sh#
5.我们就可以操作GRUB了
sh#grub
会出现这样的字符
grub>
我们就可以在这样的字符后面,输入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。setup (hd0)就是把GRUB写到硬盘的MBR上。我来举个例子吧,如果以我的硬盘为例。我在第一个硬盘上装了XP,在第一个硬盘的hda9个装了RH73.我总共有两个硬盘。如果我把GRUB丢了,就用这种办法找回来。 如果你不知道你的linux安装到哪个分区上,也就是说,不知道这个Y是多少,这也不要紧,先输入root (hdX,然后用[TAB]来查看,一下就明白了...
操作如下:[前面开机启动的上面有说明]
sh# grub
会出现下面的字样的
grub>
然后再这样操作,如果我知道我的linux装在第一个硬盘上,但我不知道装在哪个分区上,就可以先输入root (hd0,然后用[TAB]键来补齐,然后就明白了。
grub>root (hd0,8)
grub>setup (hd0)
请弟兄们结合文章及这个例子,仔细想一想。
我的第一个硬盘的分区情况是这样的。。
/dev/hda1 主分区 NTFS
/dev/hda2 扩展分区
/dev/hda5 NTFS
/dev/hda6 FAT
/dev/hda7 FAT
/dev/hda8 /boot ext3
/dev/hda9 / ext3
/dev/hda10 /swap ext3
最后就是按一下[RESET]键,重新启动,就OK了。。。。这步应该是最简单的吧。。。哈。。。。另一种方法[在DOS中操作引导系统]
首先要有能启动的win98或win98的启动光盘,rh 7.x的启动光盘中的两个文件:loadlin.exe(存在于dosutils下)和vmlinuz(存在于dosutilsautoboot下)当然vmlinuz你也可在其它linux发行版中取得.
先从硬盘启动进入win98的纯dos模式或从win98的启动光盘启动(mini模式),然后进入loadlin.exe及vmlinuz所在的目录并执行:
loadlin vmlinuz root=/dev/hdaX 1
#说明:/dev/hdaX 为linux所在的根目录
进入后再重新安装grub即可.