快捷搜索:

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

Linux的一个吸惹人的特点便是用户可以自行定制全部系统,你可是运行一个只有1M的“迷你”Linux,也可以运行一个几G的强大年夜Linux。而无论你运行如何的Linux,你都是先从向导法度榜样开始运行的。对付通俗用户,大年夜多都是在小我电脑上运行Linux的。

小我电脑,又叫PC机,是我们常见的应用Intel或AMD的芯片的电脑。当我们接通PC机的电源之后,CPU会履行第一条指令,第一条指令平日是使CPU能跳跃到BIOS的进口地址上,然后BIOS就开始进行开机自检,包括对内存等硬件进行检测,假如存在其它设备的也自带有BIOS(比如SCSI或RAID设置等),也会履行它们。完成自检后的BIOS会根据设定好的启动设备和启动顺序来启动真正的操作系统,如Linux(本文以Linux为例)。

对付PC机,有以下几种设备可以作为启动设备来应用:

1) 硬盘

这是最常用的启动设备,硬盘有IDE接口和SCSI接口的两种,因为IDE硬盘价格比SCSI硬盘要便宜的多,以是,大年夜多半PC机都应用的是IDE硬盘。一台PC机中可能有多个硬盘,用户可以在PC机的CMOS设置哪块硬盘首先启动。

2) 软盘

软盘是PC机必备的设备之一。常用作安装系统或作为系统应急盘应用。也呈现了很多一张软盘上的Linux系统。

3) 光盘驱动器

光盘驱动器也是PC机必备的设备之一,包括CDROM、DVDROM、以及各类刻录机等。现在多半用户都是经由过程光驱来安装Linux的。

4) USB盘

随USB盘的呈现,许多主板也都开始支持从USB设备上来启动系统了。USB盘的容量弘远年夜于软盘,今朝有取代软盘的趋势。

5) 网卡的Boot ROM

有一些网卡带有Boot ROM芯片,可将向导信息写入Boot ROM,许多主板都支持Boot ROM启动。常用于无盘事情盘情况中。

无论系统选择了哪一种启动设备,它都将会去将该设备肇端地址的内容读入内存,假如你的启动设备是IDE硬盘,系统就会去去读取硬盘的第一个扇区(这个扇区平日被称做主向导扇区,又称MBR),并将这个扇区的内容读入内存,然后运行它。到这一步的时刻是向导Linux操作系统的关键了,这一步将考试测验去启动Linux的向导法度榜样,假如找不到向导法度榜样,将无法向导Linux。许多人在无法启动Linux的时刻,着实大年夜多都是向导法度榜样毁坏或是设置设置设备摆设摆设欠妥所造成的。

那么什么是向导法度榜样呢?着实你天天打开电脑,所打仗到的第一个法度榜样便是向导法度榜样。它的责任是载入操作系统内核软件并把节制权转交给它。对付Linux来说向导法度榜样便是认真在启动谋略机时装入Linux的Kernel,并将谋略机的节制权交给Kernel,然后Kernel再进一步初始化残剩的操作系统,直到Linux显示用户登录画面。由此可见向导法度榜样对付一个操作系统来是异常紧张的。

Linux 的向导法度榜样有很多种,最为常见是lilo和grub:

1) lilo

lilo是用于Linux的机动多用的向导法度榜样。它并不依附于某一特定文件系统,能够从软盘和硬盘向导Linux内核映像,当然它也能够向导其它操作系统。在grub呈现之前,lilo可谓Linux向导法度榜样的最佳选择。而今朝仍旧也很多人在应用它。

2) grub

grub是比lilo新的一个功能强大年夜的向导法度榜样。专门处置惩罚Linux与其他操作系统共存的问题。它可以向导的操作系统有Linux、OS/2、Windows系列、BeOS、Solaris、FreeBSD、NetBSD等。它的上风在于支持大年夜硬盘、支持开机画面(能支持到1024x768的画面)、支持菜单式选择,并且分区位置改变后不必从新设置设置设备摆设摆设,应用异常方便。较新发行的各版本Linux大年夜多采纳grub作为默认的向导法度榜样。

3) 其它向导法度榜样

假如你没有安装lilo或grub,或者你的lilo或grub毁坏了(比如不小心覆盖了MBR),那么你将无法直接向导Linux。还好,这时刻你还可以经由过程其它要领来向导,比如:Linux的向导盘,或者是使用loadin、syslinux等法度榜样来从ms-dos中载入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便是很好的向导光盘。进入系统后,可以重装向导法度榜样或者从新设置向导法度榜样。

您可能还会对下面的文章感兴趣: