Linux故障排除
一、内核文件损坏
/boot/vmlinuz-2.6.32-642.el6.x86_64 内核文件
1、故障现象
2、解决方法:挂载光盘,进入rescue(救援)模式
3、选择——English——us——No——Continue——OK——OK。
4、进入shell,重新安装内核
# mkdir cdrom # mount -r /dev/sr0 /cdrom # rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/kernel-2.6.32-642.el6.x86_64.rpm
5、确认新的内核文件已经生成
6、重新启动完成修复
如果initramfs文件损坏也可以使用这个方法修复。
二、grub损坏
故障现象:
grub第1阶段损坏:无法从系统硬盘启动,直接进入下一可引导的启动设备
grub第1.5阶段损坏:从此硬盘启动黑屏,在第一行有一个光标,但是无法进入系统,也不会去读取下一个可引导设备
grub第2阶段损坏:grub第2阶段是提供了grub菜单界面,如果损坏了和1.5相似,也是无法看到grub启动界面
救援方法:
1、解决方法:进入rescue,在光盘引导界面按Esc件,输入
rescue linux
2、使用chroot命令切换根文件系统,然后用grub-install进行修复
# chroot /mnt/sysimage
# grub-install /dev/sda
3、重启恢复系统完成
查看:hexdump -C -n 512 /dev/sda
三、grub的配置文件损坏
/boot/grub/grub.conf
1、故障现象:grub无法读取配置文件,在开机的时候会默认进入grub的命令行界面
2、在命令行界面我们只需要手动指定内核和ramdisk文件的路径,如果不知道内核所在分区则可以尝试用find命令来查找
3、输入boot启动,成功进入系统后去编辑/boot/grub/grub.conf文件,修复完成
四、init程序被误删除
1、故障现象:内核可以初始化但是无法进入登录界面,出现一个sh的命令行
2、进入救援模式,安装upstart包,并查看init程序是否重新生成
# rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/upstart-0.6.5-el6.x86_64.rpm
3、重启进入系统,成功
五、bash程序被误删除
1、故障现象:
2、进入救援模式,安装upstart包,并查看init程序是否重新生成
# rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/bash-4.1.2-40.el6.x86_64.rpm
3、重启进入系统,成功
六、/etc/fstab文件被误删除
1、故障现象:因为无法挂载分区,启动故障
2、解决方法:由于fstab文件丢失无法找到根文件系统,所以我们得自己找到根文件系统所在分区挂载到/mnt/sysimage,然后把手动把fstab文件写到/etc下
3、重启进入系统,然后再把其他的分区找到,然后写入fstab文件,修复成功。
注意:如果根和boot分区是用的lvm管理的,那么在救援模式下不可以直接使用,得需要使用以下命令激活vg,然后操作就和以上步骤一样了。
vgchange -ay vgname 激活卷组