荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: festding.bbs@bbs.tju.edu.cn.no.spam (festding), 信区: Linux
标  题: 新手入门 linux的引导过程剖析
发信站: 天大求实BBS站 (Sun Nov 23 00:02:21 2003)
转信站: SZU!news.ccie.net.cn!maily.cic.tsinghua.edu.cn!news.happynet.org!UTJ

大家在安装完Linux后,有没有留心过Linux的引导过程呢?本文就尝试以通俗的语言来描述
这一过程和相关的各种情况,了解了Linux的引导过程后,您在面对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就
是很好的引导光盘。进入系统后,可以重装引导程序或者重新设置引导程序。


--
  ※ 来源:·天大求实
bbs.tju.edu.cn·[FROM:不想说是天大]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店