1、确定故障的问题特征
2、重现故障
3、使用工具进一步收集信息,确定故障的根源
4、排除不可能的原因
5、定位故障
从最简单的故障入手
一次只尝试一种方式
1、修改配置,备份原文件
2、尽可能的借助工具
1、管理员密码忘记
解决方法:单用户模式修改密码
2、系统文件无法正常启动
a、grub损坏\(MBR损坏、grub配置文件丢失、第二段文件损坏\)
b、/etc/rc.d/init.d 系统初始化故障\(某文件系统无法正常挂载,驱动不兼容\)
c、服务故障
d、用户无法登陆\(bash程序故障\)
3、命令无法运行
4、编译过程无法继续(开发环境缺少基本组件)
备份MBR dd if=/dev/sda of=/root/mbr.bak count=1 bs=512
注意:备份的位置与原文件不能在同一分区
故意损坏MBR dd if=/dev/zero of=/dev/sda count=1 bs=512
1、借助其他主机修复
2、使用紧急救援模式:使用grub的安装命令
a、boot.iso,需要网络中的一台服务器提供安装环境
b、使用系统安装光盘启动
在boot提示符下输入:linux rescue
类似于winPE -->mini Linux
环境
在`linuix rescue`模式下 /\\(根\\)一般挂在载`/mnt/sysimage`下,`ro`方式挂载
如果需要修改/下文件,需要以读写方式挂载
此时没有没有设备文件,无法识别设备,原因没有加载/etc/rc.sysinit脚本文件
手动创建设备文件 mknod
光盘启动-->boot:linux rescue --> 选择语言、键盘-->是否开启网络接口-->选择网卡并进行配置
-->rescue environment尝试搜索及挂载linux 根文件系统,将其挂在载mini linux的某个目录下,此时需要
-->提示挂载成功以及挂载的位置-->进入挂载的Linux(chroot /mnt/sysimage下)-->进入grub的命令行(grub)
-->指定根的位置(find 查找设备,含有kernel文件与initrd文件,find (hd0,0-)
-->root(hd0,0)/)-->setup (hd0,0)
-->grub安装成功-->quit退回命令行模式-->sync,reboot
1、系统开机进入grub提示符界面
find
找到kernel
所在分区
grub>find (hd0,0)
2、指定kernel
grub>kernel /kernel_file ro root=/dev/vol0/root rhgb quiet
如果无法确定根的位置,可省去ro后面的参数
3、指定initrd
文件
grub>initrd /initrd_name
4、boot
重启
5、系统启动后,手动创建grub.conf
文件
default=0 #默认启动的系统
timeout=10#超时
title RHE 6.5
root \(hd0,0\)
kernel /vmlinuz-2.6.32-573.el6.x86\_64 ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.32-573.el6.x86\_64kdump.img
/boot/grub
目录下其他文件丢失从其他目录复制
比如 stage2
/usr/share/
kernel panic
在grub提示符下进入一级别emergency
,不会加载rc.sysinit
脚本
修改rc.sysinit
文件内容,将相应的行注释
进入单用户级别,编辑inittab
文件
进入单用户模式,修复目录系统
比如:senmail
配置文件时间戳检查无法通过
1、进入单用户级别,关闭或者修复sendmail
2、根据开机提示,在开机过程中进入交互模式(按"I",连续敲击 RHE 5)
系统询问是否需要启动服务
POST-->BIOS(根据启动设备顺序依次查找其MBR中的bootloader)-->加载kernel(结合initrd文件,完成根文件系统的切换,运行/sbin/init进程)-->/etc/inittab-->/etc/init.d/rc.local(开机启动程序,Level 3或5) s99local
进入单用户模式,修复文件
比如:误删/bin/bash
现象:无法关机
开机无法进入`Level 1`,`shell`是`bash`程序的链接
进入紧急救援模式,重新安装bash
无网络:挂载光盘,光盘内有bash的rpm包
注意光盘的接口:`IDE/SATA`
有网络:下载bash的rpm包
1、rpm -ivh --replacepkgs --root /mnt/sysimage PATH/TO/BASH_RPM
2、以其他的shell
执行chroot /mnt/sysimage
一般需要导入环境变量PATH
export PATH=/usr/bin
重新指定PATH
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin
注意
1、如果不是更改的配置文件,另起终端重新登陆
2、修改了配置文件/etc/profile,使用完整路径执行命令,修改文件
SVN
GIT
查看报错信息