1、重启后进入grub> 提示符 ,或error 15
2、按常理判断,执行
grub> root (hd0,0)
grub> kernel /vm +tab键 ,出现error 15 ,file not found ,确定内核文件已经不存在
grub> initrd /init +tab键 出现error 15 ,file not found ,以初步确定文件已经不在
二、修复摸式
1、将光盘插入光驱
2、进入系统修复摸式在boot: 输入linux rescue 进入光盘救援模式
3、chroot /mnt/sysimage
三、修复过程记录
1、执行chroot后,光盘将原有系统挂载,实际切换到原有linux系统
#cd /boot 进入到boot目录
#ls 使用ls命令后发现已经没有内容,原有内核文件和其他文件已经不存在
1)、 首先挂载光盘
#mount /dev/cdrom /opt 挂在光盘成功,如果没有/dev/cdrom ,可能 是/dev/hdc ,还一下就可以挂载了。
#cd /opt/Server
#ls |grep kernel
#rpm -ivh kernel-2.6.18+tab补全
安装kernel完成,现在ls /boot下面有关内核的文件都已经存在 ( 注意redhat6版本, 会少一个initramfs- .img文件,
可以执行dracut -f 命令生成, redhat5版本,可以使用mkinitrd命令生成。)
3、修复grub
#cd /boot
正常情况下在 /boot 下有一个grub的目录,现在没有了,需要修复
执行:
#grub-install /dev/sda 看实际情况 ,完成后在看/boot目录,grub目录也有了,一些文件也有了,但是,grub.conf文件没有了
这个需要手动写一个出来
#cd grub
#touch grub.conf
添加 default=0
title redhat 5.5
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ 如果不确定根在那里,可以查看/etc/fstab文件
initrd /initrd-2.6.18-194.el5.img
实际情况在/etc/目录下也有一个grub的文件,给链接一个过去
#rm -rf /etc/grub.conf
#ln -s /boot/grub/grub.conf /etc/grub.conf
4、基本修复完成,现在可以重新启动系统了 ,重启系统后发现启动了后,立刻重启,又有新的问题了。
5、进入但用户模式,或者也可以进入到修复模式。
编辑/etc/rc.local文件,发现有一个开机启动项,将其删除,重启。
6、启动图形,发现图形启动不了,初步想到/tmp是否没空间,或者权限问题。在rhel6的系统,没有问题,可以启动,但是会报错。
进入单用户模式,查看/tmp目录
#cd /
#ls -l 发现tmp目录权限为d---------
正常的/tmp目录为777权限,有一个t权限位
修改一下
#chmod 777 /tmp
#chmod o+t /tmp
7、重启一切正常
本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/812322