blog » 未分类 » RHCE考试Troubleshooting(二)

RHCE考试Troubleshooting(二)

二、引导程序错误

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中必考项目

RSS 2.0 | leave a response | trackback

17fav 收藏本文

Leave a Reply

收藏 & 分享

Powered by 17fav.com