当前位置:Linux教程 - 安装启动 - 安装启动 - 用安装光盘来修复grub

安装启动 - 用安装光盘来修复grub

用安装光盘来修复grub
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

一、本解决方案所要解决的问题:
  我们可能在安装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即可.