Linux常见系统故障的排除:
1 确定问题的故障特征
2 重现故障
3 使用工具收集进一步信息确定故障根源
4 排除不可能的原因
5 定位故障:
从简单问题入手
一次只尝试一种方式
遵循的基本原则:备份原文件
尽可能借助于工具
可能出现的故障:
1 管理员密码忘记
2 系统无法正常启动
grub 损坏(MBR损坏,grub配置文件丢失)
系统初始化故障(某文件系统无法正常挂载,驱动问题等)
由rc.sysinit导致 只要进入grub编辑模式 emergency 不会加载rc.sysinit脚本
某些服务故障
用户无法登陆(用户对应的shell损坏,mingetty)
3 命令无法运行
4 编译过程无法继续(开发环境缺少基本组件)
例子: 将MBR损坏.
先将MBR 备份 dd if=/dev/sda of=/root/mbr.backup count=1 bs=512
损坏:dd if=/dev/sda/zero 0f=/dev/sda count=1 bs=200
sync
shutdown -r now
MBR损坏解决办法:
1 借助于别的主机修复
2 使用紧急救援模式
a、boot.iso 只提供引导界面 所以同时要提供安装环境才行
b、使用完整的系统安装盘 (完好的系统光盘)
输入命令boot:linux rescue
根文件系统会被挂载到/mnt/sysimage下 可能以只读方式挂载 要重新挂载改为读写方式
因为引用的文件系统没有rc.syinit 而rc.sysinit有udevs用来创建设备文件 所以要手动创建设备文件 mknod
成功进入紧急模式后 使用grub 命令
findhd(0,0)/ 再tab补全 若发现vimlinuz 和initrd文件 表示在该盘
root hd(0,0)
setup hd(0)
exit
sync
reboot
grub配置文件丢失:
grub> root (hd0,0)
grub> kernel /vmlinuz-version ro root=/dev/vo10/root/ rhgb quiet
grub> initrd /initrd-version 一定要与内核版本匹配
gurb>boot
手动建立grub.conf
default=0
timeout=10
title RHEL 5.8
root (hd0,0)
kernel /vmlinuz-version ro root=/dev/vo10/root quiet
initrd /
先将/boot/grub 移走 mv /boot/grub/grub.conf /root/
sync
shutdown -r now
kernel panic:内核恐慌
其他故障:
把默认级别设定为0或6 –>进入单用户模式,编辑inittab文件
删了/etc/rc.d/rc3.d,运行到3级别时就会报错. –>进入单用户模式修复
某个服务故障导致无法启动 –>启动系统时敲I键,启动交互式模式,选择不启动sendmail服务即可
rc.d/rc.local脚本出现语法错误或者逻辑错误 –>进入单用户模式,单用户模式不启动
rc.local开机必启动,常用来在里面添加一些脚本,让开机后执行
/bin/bash被删除了–>进入紧急救援模式(挂载光盘)–>输入命令boot:linux rescue
–>ls /mnt/sysimg 真正的根在该目录下
–>ls /dev 发现有个hdc
–>mkdir /media 不能直接挂载到/mnt下 因为/mnt/sysimg
–>mout /dev/hdc /media 没有cdrom hdc就像当于cdrom
–> cd /media
–>ls
–>cd /server
–>ls | grep bash
–>rpm -ivh –replacepkgs bash-version 这个是装在当前的小系统了 不行
–>rpm -ivh –replacepkgs –root /mnt/sysimg bash-version 指定
chroot /mnt/sysimg
mingetty被删除了–>进入单用户模式 单用户模式不用mingetty,但也不启动网络功能,要手动开启网络功能,从服务器下载mingetty
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120375.htm