RHEL5损坏的GRUB修复


一直说没去过新机房,这次够倒霉,一下就去了两趟。昨天晚上测试pipe的漏洞,发现上次升级过的内核居然没修复这个漏洞。一着急就没测试直接从2.6.18-128.7.1升级到2.6.18-164.6.1了,结果重启机器没起来。人倒霉的时候往往是一系列的意外,昨晚除了这个还测试其他的弄死了一台redhat9.0和一台RHEL3。本以为直接去机房也就是选一下旧内核就ok的事(升级前特意把grub.conf的timeout改成了10,平时都是0的)。什么都没带就直接奔机房去了,去了就傻眼了。发现机器启动直接死在GRUB上面了,屏幕只有GRUB四个字符而且没后面的>提示符,根本还没到选内核呢,没辙了只好回家先睡觉了,顺便下了一个5.4的ISO刻盘,准备今天顺便update下。过后回想应该是在RHEL5.2直接更新到5.4的update的最新内核后,更新了GRUB出问题了。可能跨越了一些系统版本的问题吧,我上次从5更新到5.2的时候似乎没update过GRUB。

今天过去先修复GRUB,结果也是不顺利,卡在USB光驱的驱动上,很郁闷。一直以为SCSI或者SATA驱动问题,后来发现2个硬盘数据全读出来了,忽然想到应该是USB驱动的问题,因为以前直接把光驱装在主板的IDE接口的,这次用的是USB的,选上USB驱动继续就ok了。下面是修复GRUB的步骤。

1、先将RHEL5.4盘放光驱中,改BOIS从USB光驱启动;
2、当引导到安装界面的时候,最后一行出现“boot:”时,输入“linux rescue”回车进入修复模式,加载完SCSI和SATA驱动后;
3、出现选择语言的对话框,默认选择English,回车;
4、下面出现选择键盘类型的对话框,选默认的“us”,回车;
5、我这由于少U盘驱动(就是卡在这郁闷了好久),出现选择驱动加载地址,选择Local CDROM,然后再选select driver 从列表里面找usb-storage的那个。加载完之后下一步;
6、下一个对话框是要你选择是否加载上网络接口,选“NO”回车;
7、接下来出现的对话框有“Continue“、”Read-only“、”Skip”三个选项,选默认的“Continue”,回车。这个是加载本地硬盘的系统,肯定不能选只读或者跳过,不然我们修复谁去;
8、最后一个OK对话框直接回车;
9、当出现“sh-3.2#”提示符时就进入修复模式了;
10、输入chroot /mnt/sysimage 回车chroot到硬盘系统;
11、用grub-install /dev/sda命令修复GRUB,出现如下图提示信息的时候说明GRUB已经修复完毕,重启系统即可。

 GRUB-INSTALL

修复ok后,重新顺便update到5.4,选择了更新GRUB的选项,装完重启发现有在GRUB上,不过这次是GRUB >提示符,进入到GRUB了,直接在里面输入
root hd(0,0)
setup (hd0)
这两个命令如下图:

 

GRUB-SETUP
安装完成,出现这个比较奇怪,应该是跨版本太多有些异常吧。直接ctrl+alt+del重启,进入系统一切正常。这次再从2.6.18-164内核(还是没补pipe那个漏洞)升级到新的2.6.18-164.6.1内核就没出现异常了。

 

本博原创,如转载请注明出处:http://blog.vfocus.net,谢谢

相关内容

    暂无相关文章