admin管理员组

文章数量:1568307

Linux开机无法启动时的常见现象

1.1 MBR错误

错误问题:

先装linux再装windows类系统后只能引导win的情况.

解决方案:

这种情况下,grub.conf或lilo.conf正常,只需进入rescue模式重安装一次MBR即可.

情况描述:

只能进入win类系统或开机后BIOS自检通过后黑屏无任何提示.

1.2 引导程序错误

错误问题:

grub.conf或lilo.conf文件错误.修改了grub.conf或lilo.conf后,或者硬盘物理位置和分区发生变化后造成不能正常启动.

解决方案:

进入rescue mode,修改grub.conf或lilo.conf即可.注意修改了lilo.conf后需执行lilo命令(可加-v 参数查看详细信息)

情况描述:

(一)grub的一般情况(路径为:/boot/grub/menu.lst)

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

(二)lilo的一般情况(路径为:/etc/lilo.conf)

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值的话,连单用户模式都无法进入,只能用rescue模式修复.修改文件后发正常的重启信号就行了,不用执行sync命令.

2.lilo.conf文件中基本上不管有没有/boot分区,而grub就要区别有无/boot分区,grub.conf中root(hdx,x),如果有/boot分区,这个root就是指/boot分区,如果/boot只是作为一个目录在根分区中(/分区),这个root(hdx,x)就是/分区的所在位置.

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.conf和grub.conf都有4行必须写,不同之处在于grub.conf中多了一行指明/boot目录(注意不是/boot分区,而仅仅是/boot目录)所在分区的位置,而lilo.conf中把kernel和根分区(/分区)拆行为两行.

1.3 /etc/inittab文件出错

情况描述:

(一)如果出现

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文件应该能正常启动.

(三)系统反复重启或启动后就关机

错误原因:

设置了错误的runlevel,如0或6

(四)如果服务基本已经启动完毕却出现

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包即可

1.4 root不能正常登录

情况描述:

正常启动后出现

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文件.

文章整理:我就宅 宅男宅女论坛 http://bbs.znzn

人打赏

0人 点赞

主帖获得的天涯分:0

举报 |

楼主

|

楼主发言:1次 发图:0张 | 添加到话题 |

本文标签: 启动时操作系统现象常见电脑