日期:2014-05-16  浏览次数:20651 次

RedHat Linux Grub 修复

想想最实用的恢复grub方法就是直接用redhat的安装光盘了.
redhat的安装光盘第一张可以用rescue模式起动,可以用一个基本的shell执行grub的安装和恢复.
为了进行这个实验,用rpm -e grub将grub卸载.重新起动时,提示error 15,无法起动.
用redhat第一张光盘起动在提示符下输入linux rescue起动rescue模式.
进入默认的shell syslinux#
#chroot /mnt/sysimage??;因为系统将找到的硬盘中的linux mount到/mnt/sysimage,用这个命令恢复成正常的状态.
#mount /mnt/cdrom
#cd /mnt/cdrom/redhat/rpm
#rpm -i grub-xx-xx.rpm
#cp /usr/share/grub/i386-redhat/* /boot/grub
#grub? ???;进入grbu提示符状态
grub>root (hd0,2)
grub>setup (hd0)??;安装grub到mbr
grub>reboot
重起系统后grub恢复正常.

?

帖子二:
在装有windows和Linux双操作系统的机器中,经常我们会因为重装Windows而将GRUB从MBR上清除掉.这样启动的时候不会出现启动菜单选项,导致Linux不能重新引导,用如下方法可解决此问题:
解决过程:
1.把安装盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。?
2.等安装界面出来后,按[F4]键,也就是linux rescue模式。?
3.经过简单配置之后,然后会出现这样的字符?
sh#?
4.这样我们我们就可以操作GRUB了
sh#grub?
会出现这样的字符?
grub>?
我们就可以在这样的字符后面,输入?
grub>root (hdX,Y)?
grub>setup (hd0)?
如果成功会有一个successful...
解释一下这里的几个参数:
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;
Y,就是装有linux系统所在的根分区,这里如果只知道linux在哪个硬盘,但不清楚在哪个分区上时,可以先输入root (hd0,然后用[TAB]键来补齐,这时会列出磁盘的分区情况,选择linux所在的分区就行了。?
setup (hd0)就是把GRUB写到硬盘的MBR上。?

看来要想修复grub,一张linux安装盘是必不可少的,先找来当初装系统时的安装盘。然后按照帖子一中的第二种方法修复,没出任何问题,修复成功!另外的方法我都没有尝试。


?

一、菜单命令

菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。

1、default //设置默认启动的菜单项

2、fallback //设置启动某菜单项失败后反回的菜单项

3、hiddenmenu //隐藏菜单界面

4、timeout //设置菜单自动启动的延时时间

5、title //开始一个菜单项

二、常规命令

常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有

1、bootp //通过bootp初始化网络设备

2、color //设置菜单界面的颜色

3、device //指定设备文件作为驱动器

4、dhcp //通过DHCP初始化网络设备

5、hide //隐藏某分区

6、ifconfig //手工配置网络设备

7、pager //改变内部页程序的状态

8、partnew //新建一个主分区

9、parttype //改变分区的类型

10、password 为菜单界面设置口令

11、rarp //通过RARP初始化网络设置

12、serial //设置串口设备

13、setkey //设置键盘映射

14、splashimage //设置GRUB启动时的背景图片文件

15、termainal //选择终端类型

16、tftpserver //指定TFTP服务器

17、unhide //还原某隐藏分区

三、命令行和菜单项命令

命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。

1、bolcklist //显示某文件所在分区位置(block list notation)

2、boot //启动操作系统

3、cat //显示文件内容

4、chainloader //把启动控制权软交给另外的启动引导器

5、cmp //比较两个文件

6、configfile //加载已存在的GRUB配置文件

7、debug //设置为debug模式

8、displayapm //显示APM BIOS信息

9、displaymem //显示内存配置

10、embed //嵌入Stage 1.5文件

11、find //查找包括某文件的所有设备

12、fstest //测试文件系统

13、geometry //显示某驱动器的物理信息

14、halt //停止计算机运行(软件关机)

15、help //显示GRUB的命令帮助信息

16、impsprobe //查询对称多处理器(SMP)的信息

17、initrd //加载initrd文件