修复GRUB(绝对管用)
使用 GRUB 引导系统之前,需要知道一些信息。首先,应知道哪个分区保存了 Linux 内核,以及 root 文件系统的分区名称。#boot=/dev/hda
default=0
timeout=10
splash=(hd0,9)/grub/splash.xpm.gz
title Red Hat linux(2.4.20-8)
root (hd0,9)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
title chang xue windows xp
rootnoverify (hd0,0)
chainloader +1
这个文件告诉GRUB建立一个以Red Hat Linux为默认操作系统的菜单,设定10秒后自动引导。这里给出了2个部分,每个部分对应于一个操作系统项目,每个部分都包含了指向操作系统硬盘分区表的命令。
常用恢复MBR(master boot record)的办法还有一种是用升级系统的办法,这种办法经过验证,是极不可靠的。我们经过近四次的实践,没有一次成功,这个办法用于没有安装GRUB的还是可行的。如果已经把GRUB安装上,后来就重装WINDOW或者别的操作系统,而导致系统不能正常引导,这种办法就失效了。
若是不想要grub或者想卸载linux,用XP直接引导PC,可用一张win98或者winME的光盘引导PC进入dos后用命令:fdisk /mbr 重启即可生效。
本方案最适合GRUB的恢复。(linux和windows双引导)
解决过程[以RedHat 9.0为例]
1.把RH 9安装盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,输入:linux rescue 后 回车进入linux救援模式。
3。救援模式做了什么:只是linux安装的前两步,语言和键盘。然后选择中文还是英文取决于你(建议选英文)。不用选择网卡,跳过网卡配置这一步。往后会出现continue readonly 和 skip三个选项:
continue:搜索硬盘上的linux系统并挂载到/mnt/sysimage 目录下
实际上是自动rescue模式。
readonly:当然是readonly模式
skip: 直接出现单用户的根shell,是手工救援模式,不查找linux系统文件。
4.硬盘上的系统已经被找到并挂载在/mnt/sysimage 下
会提示通过名利chroot /mnt/sysimage改变根目录
linux rescue中使用的shell是SH shell,常用命令和bash shell一样。
进入 linux rescue后会出现这样的字符
sh#
此时用两种方法:
法一:
sh#grub
会出现这样的字符
grub>
我们就可以在这样的字符后面,输入
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。
我来举个例子吧,如果以我的硬盘为例。(本人以单硬盘为例)我在我的硬盘上第一个主分区装了XP,也就是hda1.在hda9中装了RH9。 如果你不知道你的linux安装到哪个分区上,也就是说,不知道这个Y是多少,这也不要紧,先输入root (hdX,然后用来查看)。
法二:
其实在redhat linux的认证教程上,关于修复Grub的方法不是这样的。
具体:用第一张修复盘启动进入linux rescue出现#后
#chroot /mnt/sysimages
#grub-install /dev/hda(第一块硬盘)
等待一会后
#exit
重启
哈哈,亲爱的grub双引导又回来了!!
In conclusion :
按常理这两个方法都应该有效。可是修复时我发现只有第二种有效。谁能发现其中的原因,
tell me!thanks.
页:
[1]