`

RHCE考试Troubleshooting中,linux 系统不能开机或可能出现的错误情况 (转)

阅读更多


RHCE考试Troubleshooting中,linux 系统不能开机或可能出现的错误情况



###############################################
# #
############################################### #
# # #
# 作者:羊(flaunt@rest7.com ) # #
# 主页:http://blueflybird.rest7.com # #
# 欢迎转载,但请保留此段 # #
# ##
###############################################


下周一(2004年4月19日)就要到上海参加RHCE考试,考完后基本上不会再碰这些无
关紧要的问题。实际上,只要有充足的时间,任何一个对linux有充分兴趣的大虾小虾们
都能想办法在不重装系统的前提下,上google查资料修复这些问题。但RHCE考试中时间
比较紧张,而一个系统管理员也不可能把所有千奇百怪的问题都遇到,所以了解一些常见
trouble还是有好处的。

RHCE不代表甚麽,虽然相对于其他许多考试RHCE要难一些,通过后也不会成为“理论
家”,不知如何实战,尤其在国内“假”文凭满天飞的情况下(“假”不是指制假文凭假证
书那种假,现在非常多的非常正规的教育部门的文凭,实际上与假的没甚麽区别),RHCE
比较容易受人尊敬(同时向CCIE敬礼),但RHCE考得毕竟比较浅,象许多坛子里的RHCE
们说的,“RHCE的服务设置贵在广而不是精”,“RHCE仅仅是开始”,拿不拿这个证就看
它对你有没有用了。anyway,在准备RHCE的过程中,你会发现自己以前忽略的一些基础
知识,对于考RHCE值不值这个问题总是仁者见仁,智者见智,就懒得想那么多了。


(假设系统中至少已经安装有grub或lilo程序,按错误可能发生的顺序,包括root帐号不
能正常登录的情况,写这个错误情况最初的目的是让自己有个大的概念,希望没有误人子
弟)
 
####################### #
# # #
# 一、MBR错误。 # #
# ##
#######################

由于意外原因,主引导记录被破坏,新手安装多操作时系统常发生先装linux再装windows
类系统后只能引导win的情况。这种情况下,grub.conf或lilo.conf正常,只需进入rescue
模式重安装一次MBR即可。
情况描述:只能进入win类系统或开机后BIOS自检通过后黑屏无任何提示。


#######################
# #
####################### #
# # #
# 二(1)、引导程序错误# #
# ##
#######################

grub.conf或lilo.conf文件错误。修改了grub.conf或lilo.conf后,或者硬盘物理位置和分区
发生变化后造成不能正常启动。进入rescue模式,修改grub.conf或lilo.conf即可。注意修
改了lilo.conf后需执行lilo命令(可加-v 参数查看详细信息)
情况描述:
(一)grub的一般情况
1、如果没有找到内核(vmlinuz-x.x.x文件),
  出现File not found
    Press any key to continue....
  说明root(hdx,x)错误,或内核文件名不对
2、如果找到内核后,运行一会,
  出现kernel Panic:Not init Found,
  一般来说是没有找到根分区(/分区)即root=/dev/xxx不对
3、如果找到内核后,运行一会,
  出现Kernel panic: VFS: Unable to mount root fs on ...,
  一般来说可能忘了加上initrd /initrd-2.4.21-4.EL.img(大多情况发生在使用scsi硬盘)
4、总的来说grub.conf里面必须存在的就几行。
#more grub.conf
title linux
root (hd0,1) #/boot分区所在位置
kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root 
#内核和根分区(/分区)位置
(根分区可能是LVM和raid,而不仅是hdx和sdx)
initrd /initrd-2.4.21-4.EL.img

平时练习grub.conf菜单文件的最好办法是把这个文件删掉,每次重启时自己使用grub的
交互命令行就快就会对文件里面的内容熟悉。
(二)lilo的一般情况
lilo中没有找到内核文件或ramdisk文件(initrd-2.4.xx.x.ximg)出现的提示与grub中相同,
但如果是分区发生变化就会出现众所周知的L、LI、010101等错误。
lilo.conf中必须出现的几行。
image=/boot/vmlinuz-2.4.21-4.EL #内核所在位置
label=linux           #等于grub中的title
root=/dev/sdc1  #根分区所在位置
initrd=/boot/initrd-2.4.21-4.EL.img
注意如果lilo中不加boot=/dev/sdx,则运行lilo程序时,需加参数指明
lilo -b /dev/sdx

(三)综述
1、grub.conf文件设置错误可以使用交互命令进入系统,而lilo.conf文件设置错误又没有
设delay值的话,连sigle模式都无法进入,只能用rescue修复。修改文件后发正常的重启
信号就行了,不用执行sync命令。
2、lilo.conf文件中基本上不管有没有/boot分区,而grub就要区别有无/boot分区,grub.conf
中root(hdx,x),如果有/boot分区,这个root就是指/boot分区,如果/boot只是作为一个目
录在根分区中(/分区),这个root(hdx,x)就是/分区的所在位置。
3、那麽:lilo.conf文件中的内核和根分区(/分区)的位置能不能象grub.conf这样写呢:
lilo:
image=/boot/vmlinuz-2.4.21-4.EL root=/dev/sdc1
grub:
kernel /vmlinuz-2.4.21-4.EL ro root=/dev/TEST/root 
结果lilo是无法找到/分区。
4、记住lilo.conf和grub.conf都有4行必须写,不同之处在于grub.conf中多了一行指明/boot
目录(注意不是/boot分区,而仅仅是/boot目录)所在分区的位置,而lilo.conf中把kernel
和根分区(/分区)拆行为两行。
5、我估计grub和lilo是troubleshooting中必考项目

#######################
# #
####################### #
# # #
# 二(2)、/initrd目录 # #
# ##
#######################

这个该死的问题搞了我一整个下午,说来话长,写在最后(估计考试中不大可能出这种题,
要不就太缺德了)。


#######################
# #
####################### #
# # #
# 三、/etc/inittab # #
# ##
#######################

***(/etc/initab还可能在后面发生错误)*****

(一)如果出现INIT: No inittab file found
    Enter runlevel:
一般来说就是inittab文件丢失或者有错误。
(二)如果启动基本正常,到了
INIT:Entering runlevel: 3     (或者 5)
后,就开始出现一系列错误,很有可能/etc/inittab文件中
si::sysinit:/etc/rc.d/rc.sysinit 这一行发生错误
由于系统许多模块还没有初始化。

只能进入rescue模式,如果对inittab文件不很熟悉的话,最好把initscripts的rpm包重装
一次。默认的/etc/inittab文件应该能正常启动。


#######################
# #
####################### #
# # #
# 四、/etc/fstab # #
# ##
#######################

/etc/fstab文件错误(比/etc/inittab文件后出错)

(一)出现WARNING:coundn't open /etc/fstab: No such file or directory
/etc/fstab文件丢失
/etc/fstab文件不属于任何rpm包,利用fdisk和e2label命令查看根分区(/分区)、/boot、/home

/usr、/var分区(如果有这几个分区),然后编辑/etc/fstab文件,注意fstab文件的格式,如
果记不住,可以查看帮助:如果未mount /分区,则先装载,如果/usr分区单列,装载/usr
分区。如果在rescue模式下则先chroot。
查找fstab的帮助文件:
1、直接man fstab
2、locate fstab
  你会发现有个叫fstab.5.gz的文件,一般在/usr/share/man/man5/fstab.5.gz
  可以 man /usr/share/man/man5/fstab.5.gz
  或者 zless /usr/share/man/man5/fstab.5.gz
3、rpm -ql mount | grep fstab 也能找到fstab的帮助文件
4、find / -iname "*fstab*"  最笨的办法
如果不是在rescue模式,修改fstab文件时出来Read-only file system咋办?重新装载成读
写模式
mount -o remount,rw /dev/sdax /

(二)mount 文件丢失或被替换
mount 文件错误会出现/proc文件相关错误,红字显示很醒目,
此时比较麻烦,需进入rescue模式而不是进入输入root口令进行修改,因为根分区现在被
mount成只读(ro)模式,你没有mount命令来把根分区mount 成读写的(rw)。

(三)文件系统错误
1、使用fsck进行修复,郁闷的是无论出现什么提示只能选y,要不系统依然有问题。
2、可能文件系统的superblock有问题,把备份的恢复即可。(考试中这种情况几乎不可能)
fsck.ext3 -b (8192*n)+1

(四)raid或LVM错误
使用raid和lvm的知识进行修复,如果raid盘或lvm盘中没有数据,则可把/etc/fstab中提
到的/dev/mdx和/dev/xxxxxx/xxx相关的注释掉。如何修复raid或lvm上的数据估计Redhat
是不会考的。
我在做实验时,发现RedHat Enterprise AS3的/etc/rc.sysinit有个小bug
如果我在做raid的基础上把raid做到LVM里面去,重启系统时,会报告出错。
例如:
1、编辑/etc/raidtab #设一个任意级别的 md0
2、mkraid /dev/md0  #假设一切都正常,该raid则可使用了
3、pvcreate /dev/md0 #建立LVM的pv
4(方法一)、vgextend VGname /dev/md0 #把md0加到现有vg中
4(方法二)、vgcreate VGname /dev/md0 /dev/sdax #新建一个vg
5、lvcreate -L 5G -n newlv VGname #在VGname这个vg中建立一个5G
的名字newlv的lv
6、mkfs.ext3 /dev/VGname/newlv #格式化成ext3文件系统
7、把/dev/VGname/newlv加到/etc/fstab中
8、reboot
你会发现系统出错。原来/etc/rc.sysinit在启动raid时,是根据/etc/fstab这个文件来的,如
果/etc/fstab中没有以/dev/mdx开头行,则不启动/etc/raidtab中的md0、md1
.....,重启系统,
你会发现启动raid时有(skiped)的东东。如果这个raid是属于LVM中的一个pv,所以在
启动LVM的时候,也跟着出错。
临时办法倒是有:编辑/etc/rc.sysinit,因为在rc.sysinit文件中确定/etc/fstab中是否有raid?br>?
用的grep命令:
INFSTAB=`LC_ALL=C grep -c "^$i" /etc/fstab`
其中INFSTAB是确定命令是否成功的变量,$i是/etc/raidtab 文件中的md0或md1...etc,
把$i前面的^去掉即可。

(五)quota设置错误
大不了把/etc/fstab中的usrquota和grpquota全部关闭。
FIXME:是否还有其他发生错误的可能?


#######################
# #
####################### #
# # #
# 五、/etc/inittab # #
# ##
#######################

***/etc/inittab文件错误***
系统反复重启或启动后就关机
设置了错误的runlevel,如0或6

#######################
# #
####################### #
# # #
# 六、其他daemon错误 # #
# ##
#######################

情况比较复杂,根据显示出错误信息决定如何修复。


#######################
# #
####################### #
# # #
# 七、/etc/inittab # #
# ##
#######################

***如果服务基本已经启动完毕却出现***

INIT: no more processes left in this runlevel

可能是没有程序守护 tty1或tty2…………等,即/etc/inittab文件中少了
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
等等

出现这种情况,如果不大明白//etc/inittab的格式,强制重装initscripts的rpm包即可


#######################
# #
####################### #
# # #
# 八、xwindow错误 # #
# ##
#######################

一般来说与/etc/X11/XF86config文件有关,考试中不可能涉及硬盘问题。
运行redhat-config-xfree86一般都能解决,可能发生的问题较多,普通点的就是刷新率,显
示模式如800x600等。


#######################
# #
####################### #
# # #
# 九、root不能正常登录# #
# ##
#######################

********密码及PAM相关*******

(一)出现Login incorrect 多半与密码相关
1、的确是密码错误 单用户模式修改
2、root用户被锁 单用户模式 usermod -U root 即可
3、没有root用户,即没有uid为0的用户
4、/etc/securetty文件中没有tty*(*表示1,2,3,4等)

(二)输入用户名和密码后,只见屏幕一闪,,那多半与authconfig、pam有关了
1、三轮车夫同志遇到的。authconfig时,选了ldap认证,后来ldap服务器的地址变了后,
就无法登录。
   解决办法:运行 authconfig取消该选项。
2、/etc/pam.d/system-auth中添加了
   account required /lib/security/$ISA/pam_access.so
   或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
  解决办法同上,运行authconfig后会自动删掉。
3、/etc/pam.d/login中添加了
   account required /lib/security/$ISA/pam_access.so
   或其他类似的pam模式限制,如pam_listfile.so、pam_time.so等。
  解决办法:只有手工去查看login文件,运行authconfig后不会自动取消。
4、/etc/pam.d/ 目录中的system-auth 或login中的模块文件名有误。
  模块文件名错误同样会使系统无法登录。
  建议发生无法登录的情况时,到单用户或rescue模式,首先查看/var/log/secure 和
message文件。






****************************************************************
**********************关于第二点的说明**************************
****************************************************************
#######################
# #
####################### #
# # #
# 二(2)、/initrd目录 # #
# ##
#######################

该问题困扰了整个下午。从头说起:

中午在linuxsir.org的论坛上发现一位叫Proarfei的发了个贴子,内容如下:

---------------------------发贴内容--------------------------------
RHAS3-请求帮助!
安装RHAS3时很顺利,由于是双系统,而且我希望是ntldr做主启动程序,所以我选择了
GRUB安装位置在引导分区的第一扇区,但很奇怪的是,AS在安装完成处没有提示创建
引导盘,在RH9中是有这一步的,我在查询AS3的安装说明中也没有这步骤,但在说明
GRUB配置时说可以创建引导在别的盘上,我不是很清楚AS3是如何创建引导程序在软盘
上的,请各位高手指点一二。
---------------------------发帖结束--------------------------------


AS3中的确没有创建引导盘这一步,当时我不明白Proarfei究竟是想用软盘引导还是想在
ntldr中引导linux,于是回贴如下:


---------------------------回帖内容--------------------------------
如果想用软盘启动linux与grub无关。
制作启动盘
mkbootdisk `uname -r`

如果想在nt启动菜单选择启动
ntldr是由配置文件boot.ini提供工作参数的,该文件位于Windows XP系统分区的根目录下,
具有隐藏、系统、只读属性。我们只需要将Red Hat Linux的引导记录作为一个文件备份到
C盘的根目录下,并相应地在boot.ini文件里添加一个项目来指向它们,就可以实现双重系
统了。

分享到:
评论

相关推荐

    Redhat Linux RHCE培训、考试介绍

    ### Redhat Linux RHCE培训与考试详析 #### 核心知识点概览 - **Redhat Linux RHCE认证**:RHCE(Red Hat Certified Engineer)是Red Hat公司为专业Linux系统管理员提供的一项高级认证。 - **课程代码**:RH302,...

    linux红帽RHCE笔记 非常详细版本

    RHCE是市场上第一个面向Linux的认证考试,它不是一个普通的认证测试,和其他操作系统认证考试相比,RHCE考试需要花费一整天的时间,而且在测试中更加注重考察考生的实践经验。 RHCE是Red Hat Certified Engineer的...

    RHCE 考试大纲

    RHCE(Red Hat Certified Engineer)考试是 Red Hat 公司举办的一项认证考试,旨在考察考生的 Linux 操作系统管理和维护能力。本文将对 RHCE 考试大纲进行详细的解释,并总结出重要的知识点。 RHCE 考试大纲 RHCE ...

    linux RHCE 实验手册

    linux RHCE 实验手册 1. kickstart 无人职守安装.pdf 2. Linux LVM逻辑卷管理.pdf 3. Linux 软RAID创建和维护.pdf 4. Quota磁盘限额.pdf 5. RedHat 5.4 RHCE YUM学习笔记.pdf 6. RHCE-253 Apache服务常规配置....

    linux+rhce经典教材

    rhce经典教材,linux入门学习的书籍,适合感兴趣的同学

    模拟RHCE教室及考试环境

    为了纪念这一历史时刻,我决定把自己平时练习用的RHCE教室环境、考试环境的部署方案共享出来,让你只使用一台物理机就拥有“整个教室”(有点夸张)啦,原理当然就是建立多台虚拟机啦。该方案包含了DNS、LDAP、ISCSI、...

    RHCE考试用软件

    RHCE 考试用软件 linux 测试认证,如果你想通过红帽rece中级认证,那这个软件可以帮你构建一个真实的考试环境,多加练习,考试就能一举通过的!

    Linux-RHCE系列实战教程打包

    2、Linux LVM逻辑卷管理 3、Linux 软RAID创建和维护 4、Quota磁盘限额 5、RedHat 5.4 RHCE YUM学习笔记 6、RHCE-253 Apache服务常规配置 7、RHCE-253 Apache服务高级配置 8、RHCE-253 DHCP服务配置 9、RHCE-253 DNS...

    RHCE 8.2教学笔记PDF版

    通过这份【RHCE 8.2教学笔记PDF版】的学习,考生将具备在企业环境中部署、管理和维护Red Hat Enterprise Linux 8.2系统的能力,为通过RHCE认证考试打下坚实的基础。同时,这些知识也适用于日常的系统运维工作,提升...

    linux RHCE中文教程.rar

    包括了linux用户基础;网络管理;系统管理三大部分内容。

    RHCSA与RHCE考试实验报告

    **RHCSA(Red Hat Certified System Administrator)与RHCE(Red Hat Certified Engineer)是Red Hat公司推出的两种认证考试,旨在验证个人在Red Hat Enterprise Linux操作系统上的管理技能和知识。** RHCSA是入门...

    RHCSA/RHCE Red Hat Linux Certification Study Guide, Seventh Edition

    * RHCE认证考试涵盖了Linux系统管理员的高级技能,包括系统架构、网络管理、安全管理和高级故障排除等。 * RHCE认证考试包括两部分:EX300和EX400。 四、Red Hat Linux系统安装 * Red Hat Linux系统安装可以通过...

    RHCE技术培训-Linux文件系统深究.pptx

    其中,ext3是Linux默认的文件系统,适用于大多数情况,而其他文件系统则根据特定需求如光盘、软盘或存储区域网络(SAN)进行选择。 inode是Linux文件系统中的关键概念,它是一个索引节点,存储了文件的元数据,包括...

    rhce linux官方PDF文件

    rhce认证官方PDF教材 linux 认证

    全网最好的Linux教程(rhce课程112集完整)

    徐老师的rhce课程,112集完整,可以说是全网最好的Linux运维教程了

Global site tag (gtag.js) - Google Analytics