Linux系统程序启动引导过程详细剖析( 二 )


如果引导程序成功后,Linux内核就接管了系统,开始了Linux的启动过程(关于Linux的启动过程将另文介绍) 。但如果引导过程的发生错误又将如何处理呢?
1. 首先分析屏幕显示的错误信息
引导程序本身所显示的错误信息都是有含义的,需要认真阅读 。比如:
lilo的错误信息
当lilo启动完成时,会在屏幕上显示字符串"lilo",其实这其中的每个字母背后都对应着特定的操作 。如果lilo在某个部分出了错,我们就可以根据屏幕上当前出现的字母推断出故障原因 。比如:当屏幕上什么都没出现,就可能表示lilo还未被安装或者lilo所在的分区未被设为active状态 。而屏幕显示li“,则表示lilo引导程序的第一部分能够将lilo引导装入程序的第二部分装入,但却不能执行 。这可能是因为硬盘参数设置不当或者是因为在移动/boot/boot.b时没有运行map安装程序 。而屏幕显示"lil",则可能是介质故障或硬盘参数设置不当,无法从map文件中装载描述符表......,详细的错误信息解释也可以从相关网站上找到 。
Grub的错误信息:
和lilo相比grub的信息要好理解一些,因为它是直接用英语来表达的,而不是用符号 。比如:"Hard Disk Error"、"Read
Error"、"Selected disk doesn"t exist"、"Disk geometry error"、"Device
string unrecognizable"、"Attempt to access block outside
partition"、"Partition table invalid or corrupt"等 。详细的错误信息解释也可以从相关网站上找到 。
2.通过光盘或软盘引导进入系统,修复原引导程序
通过分析屏幕显示的错误信息后,应该能大致找到原引导程序的出错原因 。这时候可以通过光盘或软盘引导进入系统 。许多Linux的发行光盘就是可以启动的,比如:slackware就是很好的引导光盘 。进入系统后,可以重装引导程序或者重新设置引导程序 。

推荐阅读