Linux引导过程的九个步骤.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux引导过程的九个步骤 【1】硬件和固件以及读入MBR BIOS 或其它固件系统读取硬盘或者其它引导设备(例如,光盘、软盘、网络引导等等)上的 主引导记录。 计算器在接通电源之后,首先由 BIOS 进行自检,即进行所谓的POST(Power On Self Test), 然依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入“引导块”。 例如,通常BIOS中设置 的引导顺序为第一个IDE硬盘的C分区在最前面,那就是说,计算机开机启动时会把C盘的第0柱面, 第0头的第1个扇区读入内存,然跳到那里开始执行。这个扇区有一个大家很熟悉的名字,它就 是: MBR(Main Boot Record)。换句话说,MBR里面存放的是一小段程序以及分区表的数据。 在使用 WIN9X和DOS 时, 这里面存放的代码就会把分区表里标记为 Active 的分区的第一个 扇区(一般存放着操作系统的引导代码)读入内存并跳转到那里开始执行. 【2】引导装载程序运行 x86 系统上的 Linux 系统通常使用 LILO 或者 GRUB。某些老式系统可能使用 loadlin 通过 一个中间 DOS 分区进行引导。在 Power PCreg; 系统上,这可能是BootX或者 yaboot。 一般来 说,引导装载程序是一种简单的程序,它知道到哪里寻找 Linux 内核,可能在几个版本之间 进行选择,甚至可以选择同一计算机上的其它操作系统。 在用 LILO 来引导 LINUX 时,有两种选择: (a) BIOS-LILO(直接安装在MBR中)-KERNEL ? ? 把LILO直接安装在MBR,这时就由BIOS直接把LILO代码调入内存,然跳转执行LILO即可. (b) BIOS-MBR-LILO(安装在活动分区的第一个扇区)-KERNEL ? ? 把LILO安装在LINUX分区,必须把LINUX分区设为Active. 这时BIOS调入的是WIN9X/DOS ? ? 下的MBR代码,然由这段代码来调入LILO的代码(位于活动分区的第一个扇区). 在过去,对于能够设置可引导分区的最高柱面,最大硬盘大小, 在大硬盘上主分区的位置等等 有许多限制。 因为在读入及执行 MBR 时,操作系统还没有起来, 所以只能用 BIOS 提供的 INT13 来进行磁盘操作,而 INT13 只能读写硬盘 1024 柱面之前的数据,由此可知任何操作 系统的引导代码都必须在 1024 柱面之前。 对于LINUX的引导装载程序来说,不管你是使用 方式(a)还是方式(b)来启动,都要保证KERNEL放在1024柱面之前。 但因为LINUX不使用INT13 来进行硬盘操作, 所以在KERNEL启动以后, 就有读写 1024 柱面以后数据的能力了。 不过, 现在几乎所有硬件系统的 BIOS 都得到了改进, 能够处理实际上无限大的硬盘, 因此 现代的引导装载程序(至少是Linux的引导装载程序),对于分区大小或位置已经没什么限制了. 【3】内核装载并进入保护模式 当启动电源之际,计算机的 BIOS 就会找寻有无系统开机磁盘,有可能使用软盘、硬盘或者是 随身碟开机,BIOS会将boot loader载入RAM中,接者 boot Loader 会载入 Linux Kernel, 而 Kernel 一旦起动后,第一件事就是切入保护模式 (protected mode),此时,所有的硬件 交由 Kernel 来控制,也意味挣脱 BIOS 的羁绊。 【4】初始化硬件并安装根文件系统 当 Kernel 加载完毕后,便开始初始化系统所有硬设备。 而当所有的硬件初始化的动作也 告完成之际,系统将尝试挂载 root partition(根分区). 所谓 Root partition 也就是将被 挂上后当作/的根目录,如果无法正确挂载 root partition, 系统将无法运作。 在某些情况下,可能需要先装载一个临时 ramdisk 映像, 以便加载启用真实根文件系统所需 的特殊驱动程序或模块, 例如SCSI驱动模块, 然后再安装真正的根文件系统。 安装好根檔 系统之后,就可以开始系统初始化了。 【5】启动进程init来初始化Linux系统 当 root file system 成功的挂载后,就会去执行init这个程序。 init会检查/etc/inittab 文檔, 找出该文檔中标明 sysinit 的这一行, 并执行该行指定的 script. 在 Redhat Linux 系统上此脚本名为 /etc/rc.d/rc.sysinit,它是一个比较复杂和冗长的Shell脚本(有几百行), 也就是说 rc.sysinit 将开始肩负接下来的系统初始化大任;??而在

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档